我有一个 python 脚本,它有一个while(1)
条件,从数据库中的表中获取输入并对其进行处理并写入一些内容,stdout
但我无法将其输出重定向到文件。我尝试了所有标准方法,发现可能是因为脚本永远不会停止而我必须停止它,Ctrl-Z
因为将输出附加stdout
到文件是不可取的。
有什么线索吗??
问问题
40 次
3 回答
2
我猜它从不写换行符?如果这是真的,你需要sys.stdout.flush()
偶尔。
于 2013-06-20T12:43:33.310 回答
1
-u
您还可以使用以下选项禁用 I/O 缓冲: python -u yourscript.py
. (这在某些情况下会降低性能。)
于 2013-06-20T12:49:55.463 回答
0
尝试使用
orig_stdout = sys.stdout
completeName = os.path.abspath("**Path name of the file**")
f = file(completeName, 'w')
sys.stdout = f
print "Whatever you want to put into file"
sys.stdout = orig_stdout
f.close()
于 2013-06-20T12:46:08.620 回答