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

问题描述 投票:-1回答:1

这是用于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,并尝试了以下操作:

  • 在start.bat中将'server.jar'更改为'server'
  • 更改目录
  • 提供了start.bat文件的完整路径
  • 检查了我的路径中的空格(没有找到)
  • 尝试以管理员身份运行文件

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

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

python python-3.x batch-file cmd minecraft
1个回答
0
投票

已解决:

也许这对于很多人来说都是显而易见的,但是我会写出对我有帮助的人来帮助同样问题的人。

假设具有此文件夹结构:

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

© www.soinside.com 2019 - 2024. All rights reserved.