我正在创建一个运行 jar 文件的 python 程序。 jar 文件和一些支持文件放置在与 python 程序目录不同的位置。我尝试将 jar 文件路径添加到 sys.path
但它无法从那里访问文件,但是路径已正确添加到 sys.path
。我怎样才能让它工作?
jar 文件位置:E:\data
python 文件位置:C:\Users\user\Desktop
我正在使用 subprocess
调用 jar 文件,代码如下:
import os
import sys
import subprocess as sp
class abc():
def __init__(self):
sys.path.append(r'E:\data')
def run(self):
print sys.path
env = dict(os.environ)
env['JAVA_OPTS'] = '-Xms256m -Xmx256m -Xss1024k'
sp.call(['java', '-jar', 'file.jar'], env=env)
if __name__ == '__main__':
o = abc()
o.run()
运行上面的代码后,我收到一条错误消息:
错误:无法访问 jarfile file.jar
最佳答案
如果你只是改变你的工作目录会怎么样:
import os
cwd = os.getcwd() #current directory
os.chdir('path/to/jar')
... # run file
...
os.chdir(cwd)
关于python - 如何加载放置在不同位置的 jar 文件和支持文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27352233/