使用Popen执行脚本失败

时间:2009-07-16 14:42:43

标签: python mod-python popen

我需要通过服务在后台执行脚本。

该服务使用Popen启动脚本。

p = Popen('/path/to/script/script.py', shell=True)

当我在for循环中包含文件写入时,为什么以下脚本不起作用?

#!/usr/bin/python

import os
import time

def run():
    fd = open('/home/dilleyjrr/testOutput.txt', 'w')

    fd.write('Start:\n')
    fd.flush()

    for x in (1,2,3,4,5):
        fd.write(x + '\n')
        fd.flush()
        time.sleep(1)

    fd.write('Done!!!!\n')
    fd.flush()

    fd.close()

if __name__ == '__main__':
    run()

2 个答案:

答案 0 :(得分:1)

这是你的错误:

for x in (1,2,3,4,5):
    fd.write(x + '\n')

您不能将int与字符串相加。改为使用(例如)

for x in (1,2,3,4,5):
    fd.write('%s\n' % x)

答案 1 :(得分:0)

你得到什么错误?没有错误就很难看到问题。无论如何,该文件是在其他地方打开的吗?