python - 打印到作为后台进程运行的文件 python 脚本
问题描述
我有一个运行大约 3 个小时的 python 脚本。我想将它生成的一些数据打印到 .csv 文件中。
我在 centos 上,我正在运行我的脚本,如下所示:
python my_script.py > output.csv &
我也试过:
python my_script.py &> output.csv
没有任何内容打印到 output.csv,甚至在脚本开头的一些测试语句也没有。
我尝试的下一件事是在我的脚本中打开一个文件 -f = open('output.csv', 'a')
并使用f.write()
. 同样,文件中没有显示任何内容(尽管它确实被创建了)。
如何使用我想要的数据创建 output.csv?当它不是后台进程时,它似乎可以正常工作,但我希望它在后台运行。
我像这样打印:
print('hello, this is a test')
在另一个版本中,我有这样的东西:
f = open('output.csv', 'a')
f.write('hello, this is a test')
在这两种情况下,我得到完全相同的结果。该文件被创建,但实际上没有写入任何内容。
任何帮助表示赞赏。谢谢!
解决方案
尝试刷新标准输出缓冲区:
蟒蛇> = 3.3:
print('hello, this is a test', flush=True)
早期版本:
import sys
print('hello, this is a test')
sys.stdout.flush()
推荐阅读
- node.js - 无法发布/管理员
- amazon-web-services - 如何通过 aws sdk 全局注销 cognito 用户
- laravel - 如何在多对多中使用同步并将状态添加到数据透视表
- python-3.x - 需要从继承的类将参数传递给方法装饰器
- c# - Using IN operator on list by using Rowfilter i am getting an error “The expression contains invalid name: '[])'.”
- java - Is there a way to create a JList in a modal dialog?
- r - 分份'?基于正态分布的值
- c# - .NET Core WebApi Get HttpClient Error Message
- python - 如何将可变长度的numpy ndarray附加到一个空的numpy数组?
- r - 以向量为参数的 RSQLite 参数化查询