Python脚本在启动时执行时不写入文件

时间:2016-02-15 16:22:14

标签: python loops

我正在尝试创建一个将写入文件的python循环脚本。

当我在终端中执行脚本时,文件写入没有问题。

我不希望这个脚本在启动时启动,所以我将它放在rc.local文件中。该脚本运行,但它没有将输出写入指定的文件..

我做了一些关于冲洗和非缓冲输出的阅读。 任何人都可以帮助我或指出我正确的方向吗?

当这个脚本完成后,它将使用REST发送文件,但是在我到达那里之前我需要写文件..

剧本:

#!/usr/bin/python -u

while True:
    try:
        print "This is only a test..."
        with open("loop.txt", "a") as loopFile:
            loopFile.write("This is only a test...")
            loopFile.write('\n')
            loopFile.flush()
            loopFile.close()
        time.sleep(1)
    except KeyboardInterrupt:
        break
        quit()

/etc/rc.local文件:

/usr/bin/python /home/pi/loop.py &

loop.py和loop.txt都具有读/写/执行访问权限。

1 个答案:

答案 0 :(得分:5)

在打开文件的语句中添加完整路径名:

#!/usr/bin/python -u

while True:
    try:
        print "This is only a test..."
        with open("/home/users/sj091190/loop.txt", "a") as loopFile:
            loopFile.write("This is only a test...")
            loopFile.write('\n')
            loopFile.flush()
        time.sleep(1)
    except KeyboardInterrupt:
        break
        quit()