Python 尝试crontab命令时调用的进程错误
我有一个简单的脚本,它使用subprocess.check_输出来运行crontab命令。但是,当我为crontab执行脚本时,它返回的退出代码为1,如果我打印错误输出,它将不会为用户打印crontab,这是它应该打印的内容,而不会进入错误模式 这是我的剧本:Python 尝试crontab命令时调用的进程错误,python,unix,subprocess,Python,Unix,Subprocess,我有一个简单的脚本,它使用subprocess.check_输出来运行crontab命令。但是,当我为crontab执行脚本时,它返回的退出代码为1,如果我打印错误输出,它将不会为用户打印crontab,这是它应该打印的内容,而不会进入错误模式 这是我的剧本: import subprocess try: string = subprocess.check_output(['crontab','-l']) print "Yes! " p
import subprocess
try:
string = subprocess.check_output(['crontab','-l'])
print "Yes! "
print string
except subprocess.CalledProcessError as e:
print e.output
奇怪的是,如果我运行ls-l而不是crontab-l,那么一切都会按预期运行,我会得到想要的输出。但是,一旦运行crontab-l,如果删除print e.output,我会得到以下结果:
Traceback (most recent call last):
File "python1.py", line 3, in <module>
string = subprocess.check_output(['crontab','-l'])
File "/usr/lib/python2.7/subprocess.py", line 544, in check_output
raise CalledProcessError(retcode, cmd, output=output)
subprocess.CalledProcessError: Command '['crontab', '-l']' returned non-zero exit status 1
正如我前面提到的,e.output不会为用户生成crontab,但这不应该作为错误返回,它应该作为正常输出返回。我是不是遗漏了什么