尝试在python脚本中使用子进程调用来运行Imagemagick命令。 我在/ usr / local / Cellar中安装了imagemagick,所以我尝试了两个选项,因为它看起来没有找到转换命令。
顺便说一句,'convert'命令是一个imagemagick命令。 :) 以下是我的代码中与其直接相关的部分。
import sys, os, subprocess, string
tempo = 8; #this is just for sample purposes, in the actual code this variable is imported from a csv file
# test with just captioning one image and not whole loop
subprocess.call('convert rgb10.png -pointsize 50 -draw "text 180,180 ' + str(tempo) + '" rgb10-n.png')
我也尝试了“subprocess.call('/ usr / local / Cellar / imagemagick / 6.8.9-8 / bin / c ....”因为我认为它可能不是找不到命令。
此外,我当我在终端命令行(而不是脚本)中运行此命令时,它可以正常工作 (ex: convert rgb298.png -pointsize 50 -draw "text 180,180 'test' " rgb298-n.png)
所以我知道它必须是我的子进程调用的问题。
运行时,这是我收到的错误:
subprocess.call('/usr/local/Cellar/imagemagick/6.8.9-8/bin/convert rgb10.png -pointsize 50 -draw "text 180,180 ' + str(tempo[9]) + '" rgb10-n.png')
File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/subprocess.py", line 470, in call
return Popen(*popenargs, **kwargs).wait()
File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/subprocess.py", line 623, in __init__
errread, errwrite)
File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/subprocess.py", line 1141, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory
注意:我也试过subprocess.call('python2.6 convert rgb10.png ...
答案 0 :(得分:1)
......我已经让它上班了,真是太傻了!
已添加,shell = True
subprocess.call('convert rgb10.png -pointsize 50 -draw "text 180,180 ' + str(tempo) + '" rgb10-n.png', shell=True)
现在适用于遇到此问题的其他任何人。
除非它实际上没有绘制或接收帐户变量' tempo',又名不处理+ str(节奏)+位