【发布时间】:2012-10-03 14:10:21
【问题描述】:
我正在尝试将数据转储到文件中,并不断收到此错误:
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 中执行此操作,没有错误,但数据已打印到屏幕上,文件为空...(好像 > 符号不存在)。
有人知道是什么原因造成的吗?
提前致谢:)
【问题讨论】:
-
您的
Bad file descriptor消息来自 Python 代码,因此它似乎在输出设置之前或期间遇到了该错误。如果> alldata.json是问题所在,您会看到错误来自shell。我建议您尝试运行不带>的命令以查看错误发生的位置。 -
谢谢。使用 > 重定向运行不会导致任何错误。数据只是简单地打印在屏幕上。请看下面的答案,这与直接在命令提示符下执行脚本有关。