【发布时间】:2014-01-13 09:59:44
【问题描述】:
我正在尝试从 Python 文件调用 Jython 脚本。
我有 Jython 文件:testing.py,其中包含:
print "Hello"
然后,我有 Python 文件 caller.py,其中包含:
import subprocess
subprocess.call(['jython', 'testing.py'])
如果我执行调用 jython 脚本的 python 文件,我会得到一个错误:
Traceback (most recent call last):
File "C:\Documents and Settings\Administrador\workspace\Interfaz\bashpython.py", line 3, in <module>
subprocess.call(['jython', 'testing.py'])
File "C:\Python27\lib\subprocess.py", line 486, in call
return Popen(*popenargs, **kwargs).wait()
File "C:\Python27\lib\subprocess.py", line 672, in __init__
errread, errwrite)
File "C:\Python27\lib\subprocess.py", line 882, in _execute_child
startupinfo)
WindowsError: [Error 2] El sistema no puede hallar el archivo especificado
问题是,如果我将 caller.py 函数更改为调用另一个 Python 函数而不是 Jython 函数,则可以完美运行(它会打印 Hellostring):
import subprocess
subprocess.call(['python', 'testing.py'])
我使用的是 Eclipse 标准 4.3.1。和 PyDev。
在此先感谢
【问题讨论】:
-
如果指定
jython的绝对路径会怎样?r'C:\path\to\jython.exe' -
确切的命令是什么?
subprocess.call(['C:\path\to\jython.exe', 'testing.py'])?这至少是行不通的。提前致谢。 -
您应该为列表的第一项指定 jython 的实际路径。