Python,无法使用 os.system() 访问 jarfile

Python, unable to access jarfile using os.system()

这是一个 minecraft 服务器,我使用 python 来处理多个服务器文件夹,每个文件夹中都有一个 start.bat。

这就是 start.bat 的样子:

java -Xmx4G -jar server.jar nogui
pause

如果我双击它就可以正常工作,但是,如果我像这样从 python 调用它:

import os
os.system('server\start.bat')

Python 说:'1' 并且 cmd 说:错误:无法访问 jarfile server1.15.jar

我查看了 this post,并尝试了以下操作:

None 以上对我有用,有什么线索吗?

编辑2: 我也可以直接从 python 启动 jar 文件,而不使用 bat 文件,但我不知道该怎么做

已解决:

也许这对很多人来说是显而易见的,但我会写下对我有用的东西来帮助遇到同样问题的人。

假设具有以下文件夹结构:

folder\start.py #is the python starter
folder\server\server.jar #is the server jar
folder\server\start.bat #is the server jar starter (java -Xmx1500M -Xms125M -jar server.jar nogui)

当你使用 python 调用 os.system('server\start.bat') 时,它会打开一个新的控制台,这让我认为它是 start.bat cmd,实际上它不是 python 执行你的folder 目录中的批处理命令。

我发现有两种方法可以解决这个问题,但它们都不是很方便(我想我会制作一个 python 函数来自动执行该过程):

选项一:将 start.bat 文件更改为 java -Xmx1500M -Xms125M -jar server\server.jar nogui

选项二:更改 start.bat 在第一行之前添加 cd server