未在后台运行python脚本创建输出文件
我对python非常陌生,已经过度扩展了自己。 我拼凑了一个脚本,该脚本使用cURL从Twitter轮询JSON输入流,并将其转换为CSV文件 当在前台的$prompt下运行时,该脚本可以完美地工作,但当在后台使用nohup运行时,它只会创建一个0字节的文件,甚至不会写入CSV头 下面是一段代码片段:未在后台运行python脚本创建输出文件,python,csv,background-process,Python,Csv,Background Process,我对python非常陌生,已经过度扩展了自己。 我拼凑了一个脚本,该脚本使用cURL从Twitter轮询JSON输入流,并将其转换为CSV文件 当在前台的$prompt下运行时,该脚本可以完美地工作,但当在后台使用nohup运行时,它只会创建一个0字节的文件,甚至不会写入CSV头 下面是一段代码片段: import pycurl, json, csv from datetime import * outfile_path='/home/XXXX/twitter-feed.csv' write
import pycurl, json, csv
from datetime import *
outfile_path='/home/XXXX/twitter-feed.csv'
writer = csv.writer(open(outfile_path, 'wb'))
headers = ["user","timestamp","X","Y"]
writer.writerow(headers)
我猜这是显而易见的问题,但如果有任何帮助,我们将不胜感激。如何在后台启动脚本?如果您不只是通过pythonscript.py运行它&那么我猜路径有问题。尝试添加 !/usr/bin/python 对于脚本文件的第一行,通过 chmod+x script.py 然后运行它 /完整/path/to/script.py 还要确保pycurl位于脚本运行的环境中
如果没有任何帮助,甚至在尝试捕获脚本的输出之前,如果脚本崩溃,它将打印回溯,即:/full/path/to/script.py>/home/xxx/output.log 2>&1感谢您提供的所有提示和帮助。通过使用CRON启动脚本,我已经解决了这个问题,它工作得很好 仍然不知道为什么脚本不喜欢在后台启动,但因为它可以工作,所以可以再等一天
谢谢。我现在遇到了这个问题,实际上,如果你在csv文件中写更多的东西,它会有帮助,,,,我认为你的python在后台运行,并以kill+pid终止。。。
似乎csv.write有一个缓冲流,如果你杀死后台进程,那么流就消失了,你可以在你的csv文件中写更多的东西来检查这个,,,,,你如何启动你的脚本?请显示命令行。我已经尝试了/full_path/myscript.py&和nohup/full_path/myscript.py&谢谢!我已经介绍了脚本/chmod建议,重定向输出不会生成任何输出。我将探讨pythonpath建议,如果没有输出,那么pycurl可能在pythonpath中,否则将发生导入错误。奇怪的可能脚本根本没有运行?pycurl似乎安装在/usr/lib/pymodules/python2.7中,它位于pythonpatan中,缓冲流的大小为16k,