2012-02-06 28 views
2

我想写一个Python脚本来转换一堆图像。在Windows上的Python子进程问题

这件事情,如下面的代码(一个巨大的极小化后):

#!/usr/bin/python 
# -*- coding: utf-8 -*- 
from subprocess import call 

cmd = ' '.join(['convert.exe', '-resize', '110', 'foo\\a.jpg', 'bar\\a.jpg']) 
print cmd 
call(cmd) 

我得到下面执行它后错误:

Parameter not valid - 110 

而当我复制/粘贴发出的字符串在命令行上的脚本图像转换完美。 我错过了什么?

+0

是'-resize 110',全部参数? – 2012-02-06 22:11:58

回答

1

我要说的是,该错误是最有可能的两个东西

  1. 结果在调用命令,请尝试使用shell=True作为第二个参数。
  2. 您正在使用相对路径,python的工作目录可能与您的cmd shell不同。
+0

你的第一个建议解决了我的问题,非常感谢! – alexyz78 2012-02-07 17:29:41

0

您确定您的脚本所调用的convert.exe与您在命令行中调用的是相同的吗?出于痛苦的经历,我总是使用完整路径来执行我想从脚本,Python或其他程序调用的可执行文件。

0

Windows XP有一个名为convert的命令shell命令。当我给你的命令喂食时,我会看到你看到的同样的错误信息。我怀疑它被调用,而不是你的convert.exe。