執行我有一個Python腳本,做這樣的操作:當我從命令行執行腳本python腳本的命令行工作,但不是當它從web應用
temp = tempfile.NamedTemporaryFile(delete=False)
process = subprocess.Popen(['tesseract', path, temp.name], stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
process.communicate()
這似乎很好地工作文件。但是,我需要將我的Java Web應用程序作爲外部進程調用此腳本。我做到這一點:
def command = """ /usr/local/bin/python ${myscript} ${arg1} ${arg2} """
def proc = command.execute()
proc.waitFor()
def procOutput = proc?.in?.text
問題是運行腳本時,從他WE-應用程序,我得到一個錯誤:
File "/Users/anthony/script.py", line 34, in m
process = subprocess.Popen(['tesseract', path, temp.name], stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
File "/usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 679, in __init__
errread, errwrite)
File "/usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 1249, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory