Python,无法使用os.system()访问JAR文件

2024-09-29 23:30:05 发布

您现在位置:Python中文网/ 问答频道 /正文

这是针对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文件,但我不知道怎么做


Tags: 文件路径服务器文件夹serverosjavastart
1条回答
网友
1楼 · 发布于 2024-09-29 23:30:05

决议:

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

比如说,当我们有这个文件夹结构时:

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

相关问题 更多 >

    热门问题