【发布时间】:2020-10-17 23:19:46
【问题描述】:
我有一个带有 python 脚本的树莓派零
/home/pi/Documents/camProject
将日期和时间写入 log.txt 文件。
import datetime
import json
now = datetime.datetime.now()
now = str(now)
with open('log.txt','w') as f:
json.dump(now, f)
print('script complete')
print(now)
当我站在 camProject 文件夹中时,我可以从控制台调用和执行脚本。
pi@raspberrypi:~/Documents/camProject $ sudo python3 "/home/pi/Documents/camProject/test.py"
script complete
2020-10-17 08:39:46.238224
我希望这个 test.py 脚本在每次重新启动时运行,所以我从命令控制台执行了
sudo crontab -e
在我写的 crontab 脚本的底部
@reboot sudo python3 "/home/pi/Documents/camProject/test.py"
重新启动树莓派设备后,没有任何反应,日期也没有写入 log.txt 文件。我试过执行
sudo python3 "/home/pi/Documents/camProject/test.py"
从我的主目录
/home/pi
我在控制台中看到了我的 test.py 的打印输出,但 log.txt 没有更新。但是,如果我从 test.py 所在的文件夹执行相同的脚本,一切正常。然后我检查了权限并在我的 camProject 文件夹中
pi@raspberrypi:~/Documents/camProject $ ls -l
totalt 20
-rwxrwxrwx 1 pi pi 66 okt 17 00:00 camVision.py
-rwxrwxrwx 1 pi pi 28 okt 17 08:50 log.txt
-rwxrwxrwx 1 pi pi 167 okt 17 08:33 test.py
-rwxrwxrwx 1 pi pi 115 okt 17 07:45 test.pyc
drwxrwxrwx 2 pi pi 4096 okt 16 14:50 Video
我猜这个问题与 log.txt is not writeable 有关,当 test.py 从命令控制台执行时,执行发生在 camProject 文件夹之外,因此也不是由 crontab 执行的。我不知道如何解决这个问题?
【问题讨论】:
-
在
/home/pi运行时,是否检查过/home/pi/log.txt是否存在?
标签: python-3.x linux cron debian cron-task