【发布时间】:2011-05-03 17:12:51
【问题描述】:
我正在创建一个 Python 脚本来充当我必须执行的一些与图像相关的常见任务的包装器,这是我遇到的部分问题:
有人为 ImageMagick 编写的 Bash 脚本位于此处:http://www.fmwconcepts.com/imagemagick/autocolor/index.php
本质上,它只能对单个文件进行操作(我不能将 *.jpg 传递给它,(这样做时它会失败)否则我不会遇到这个问题)所以我需要 Python 在每个文件上运行这一行文件:
~/autocolor.sh -m " + ColorMethod + " -c " + WorkingDirectory + InputFileName + " " + WorkingDirectory + OutputFileName
这是我当前的代码块:
elif RetouchOption == "04":
ColorMethod = input("What method will you use (options are gamma, recolor, none)?: ")
ClipMode = input("What clipping mode will you use (options are together or separate)?: ")
for f in WorkingDirectory + "*.jpg":
do
os.system("sh ~/autocolor.sh -m " + ColorMethod + " -c " + WorkingDirectory + FileName + " " + WorkingDirectory + FileName)
WorkingDirectory 已经作为变量建立,并且 ColorMethod 和 ClipMode 在该块中建立。我需要做的是获取一个 FileName 变量(或其他使此代码工作的方法)。
感谢您的帮助!如果我没有提供足够的信息,请告诉我。我听说 os.system 不是执行此类操作的首选方式,但到目前为止,它在执行我在同一脚本中的其他命令时似乎运行良好,因此我将在其他时间解决更改。
【问题讨论】:
-
从长远来看,您可能会发现使用其中一种 Python API 比调用 shell 脚本更好 - 查看 assembla.com/wiki/show/pythonmagickwand 或 imagemagick.org/download/python