Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
未在后台运行python脚本创建输出文件_Python_Csv_Background Process - Fatal编程技术网

未在后台运行python脚本创建输出文件

未在后台运行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

我对python非常陌生,已经过度扩展了自己。 我拼凑了一个脚本,该脚本使用cURL从Twitter轮询JSON输入流,并将其转换为CSV文件

当在前台的$prompt下运行时,该脚本可以完美地工作,但当在后台使用nohup运行时,它只会创建一个0字节的文件,甚至不会写入CSV头

下面是一段代码片段:

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,