我正在尝试从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函数,则可以正常工作(它会打印Hello
字符串):
import subprocess
subprocess.call(['python', 'testing.py'])
我正在使用Eclipse Standard 4.3.1。和PyDev。
提前致谢
答案 0 :(得分:0)
如果testing.py
和caller.py
位于同一文件夹中,则上述代码应该有效。但是如果它们不在同一个位置,那么很明显你必须提供文件的位置。
我caller.py
中的/home/reuben/caller.py
和testing.py
中的/home/reuben/Documents/testing.py
。我在caller.py中给出了testing.py的完整路径。
subprocess.call(['jython', '/home/reuben/Documents/testing.py'])
这一切对我有用。