文档建议不要使用subprocess.call
with shell=True
,但是当我尝试做一些简单的事情时
call(['convert'])
我收到一个错误:
必须指定文件系统
当我通过 cmd.exe 运行相同的命令时,我得到
C:\Users\Mark>convert
Version: ImageMagick 6.7.3-6 2011-11-10 Q16 http://www.imagemagick.org
...
等等,即它实际上运行。
那么在call
做什么呢?为什么要找文件?
它是否需要 .exe 的完整路径?如果是这样,我宁愿不这样做,因为我不知道所有 .exe 文件的位置。
只需使用程序的完整文件路径( )尝试过它就可以了call(['C:/imagemagick/convert.exe'])
。但是问题仍然存在……如果没有完整路径,您将如何做到这一点?只是让它从工作目录执行?