我想dumpdata成一个文件,并不断收到此错误:Django的dumpdata不写入文件,产生“错误的文件描述符”错误
d:\django\mysite>manage.py dumpdata > alldata.json
Traceback (most recent call last):
File "D:\django\mysite\manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line 443, in execute_from_command_line
utility.execute()
File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line 382, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "C:\Python27\lib\site-packages\django\core\management\base.py", line 196, in run_from_argv
self.execute(*args, **options.__dict__)
File "C:\Python27\lib\site-packages\django\core\management\base.py", line 241, in execute
self.stdout.write(output)
IOError: [Errno 9] Bad file descriptor
我有一种感觉,这有东西使用代码页或unicode。 尝试在PowerShell中执行此操作,并且没有错误,但数据已打印到屏幕上,并且文件是空的......(如果>符号不存在)。
任何人有任何想法可能会导致此?
感谢提前:)
你'坏文件descriptor'消息从Python代码来了,所以才出现它之前或者是输出设置过程中遇到的错误。如果'> alldata.json'出现问题,您会看到错误来自shell。我建议你尝试运行命令而不用'>来查看发生错误的位置。 – akraut
谢谢。使用>重定向运行不会导致任何错误。数据只是简单地打印在屏幕上。请参阅下面的答案,这与在命令提示符处直接执行脚本有关。 –