繁体   English   中英

Python subprocess.call非零退出状态1

[英]Python subprocess.call non-zero exit status 1

我正在尝试使用子流程来调用Image Magick转换函数,但是我一直在遇到错误。 当我做python语句时

x = '/usr/local/bin/convert -density 600 /path/to/myFile.pdf -depth 8 -delete 0,1,2,6,9 -strip -background white -alpha off /path/to/myTiff.tiff'
result = subprocess.check_output(x.split())

我得到错误

Traceback (most recent call last):
  File "<pyshell#2>", line 1, in <module>
    result = subprocess.check_output(x.split())
  File "/usr/local/Cellar/python/3.7.3/Frameworks/Python.framework/Versions/3.7/lib/python3.7/subprocess.py", line 395, in check_output
**kwargs).stdout
  File "/usr/local/Cellar/python/3.7.3/Frameworks/Python.framework/Versions/3.7/lib/python3.7/subprocess.py", line 487, in run
output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command "['/usr/local/bin/convert', '-density', '600', '/path/to/myFile.pdf', '-depth', '8', '-delete', '0,1,2,5,6,9', '-strip', '-background', 'white', '-alpha', 'off', '/path/to/myTiff.tiff']" returned non-zero exit status 1.

但是,如果我添加shell=True ,则不会再出现错误,但是我也不会得到.tiff文件。 我想知道为什么在不添加shell=True情况下会出错,并且为什么我仍然没有得到所需的.tiff文件。

您的问题似乎出在您的convert命令上,而不是python。

删除-delete参数,它对我来说可以正常运行而无需修改。 我显然没有要检查的输入文件,但我认为您指定的索引不存在。 当将无效项目传递给-delete时,convert会退出1,因此我敢打赌这是您的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM