0

我有一个 python 脚本,它有一个while(1)条件,从数据库中的表中获取输入并对其进行处理并写入一些内容,stdout但我无法将其输出重定向到文件。我尝试了所有标准方法,发现可能是因为脚本永远不会停止而我必须停止它,Ctrl-Z因为将输出附加stdout到文件是不可取的。
有什么线索吗??

4

3 回答 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 回答