如何通过 python3 子进程在 nano 编辑器上保存 crontab -e

How to save crontab -e on nano editor by python3 subprocess

我想在 Raspberry Pi 3 上设置 cronjob,由 python 子进程启动,但我不确定如何编码按键 ctrl + x,然后y ,然后 enter 保存。我使用 nano 作为文本编辑器,下面是我目前的代码。

p = Popen(["crontab -e"], stdin=PIPE, stdout=PIPE, shell=True)
p.stdin.write("@reboot python test.py")

您可以在不使用 vi 编辑器的情况下使用以下 bash 命令完成此操作:

(crontab -l ; echo "0 4 * * * myscript")| crontab -

如果我没理解错的话,你的问题更多的是关于如何使用 nano 编辑器。 使用

打开 crontab 脚本后
crontab -e

它将使用 nano 编辑器打开。 那么你应该在这个文件的末尾添加你想要的内容:

@reboot python3 test.py

(如果test.py不在当前目录,则应写完整路径到文件。例如/home/pi/Desktop)

将文件保存在 nano 中:

按crtl o(表示你要写入文件)。然后

按 Enter(表示您要覆盖现有文件)。然后

按 ctrl x(退出 nano)