运行 来自 python 于 Windows 的星露谷物语
Running Stardew Valley from python on Windows
目前我正在尝试从 python 运行 Stardew Valley 这样做:
import subprocess
subprocess.call(['cmd', 'D:\SteamR\steamapps\common\Stardew Valley\Stardew Valley.exe'])
然而,这失败了,只打开了一个 CMD window。我对如何从 python 启动程序有基本的了解,但我不明白如何专门打开一个不仅位于不同位置,而且位于不同驱动器上的程序。
如有任何帮助,我们将不胜感激。谢谢!
编辑:
这是在 windows 10
Stardew Valley 版本是测试版,位于 D:/ 驱动器上(windows 当然是在 C:/ 上)
您不必使用cmd
,您可以直接启动.exe
。
此外,您应该知道 \
用于转义 Python 字符串中的字符,但不应在 Windows 路径中进行特殊解释。对于 Windows 路径,最好使用前缀为 r
的原始字符串,这样会禁用此类转义:
import subprocess
subprocess.call([r'D:\SteamR\steamapps\common\Stardew Valley\Stardew Valley.exe'])
能否尝试使用游戏的appid使用steam命令行:
subprocess.call(r"C:\Program Files (x86)\Steam\Steam.exe -applaunch 413150")
您可以在桌面快捷方式属性"web document tab"中找到应用程序 ID
(可以通过右键单击并 select 在 steam 库中创建桌面快捷方式来生成)。
它会是这样的 steam://rungameid/413150
您可以使用以下方式:
import os
os.startfile("D:\SteamR\steamapps\common\Stardew Valley\Stardew Valley.exe")
这段代码的作用是,它只是使用其 windows 分配的默认程序打开文件。
这种启动方式的缺点是它不会 return 任何进程对象。因此,为了管理您需要使用 win32 包或其他程序的进程。
目前我正在尝试从 python 运行 Stardew Valley 这样做:
import subprocess
subprocess.call(['cmd', 'D:\SteamR\steamapps\common\Stardew Valley\Stardew Valley.exe'])
然而,这失败了,只打开了一个 CMD window。我对如何从 python 启动程序有基本的了解,但我不明白如何专门打开一个不仅位于不同位置,而且位于不同驱动器上的程序。
如有任何帮助,我们将不胜感激。谢谢!
编辑:
这是在 windows 10
Stardew Valley 版本是测试版,位于 D:/ 驱动器上(windows 当然是在 C:/ 上)
您不必使用cmd
,您可以直接启动.exe
。
此外,您应该知道 \
用于转义 Python 字符串中的字符,但不应在 Windows 路径中进行特殊解释。对于 Windows 路径,最好使用前缀为 r
的原始字符串,这样会禁用此类转义:
import subprocess
subprocess.call([r'D:\SteamR\steamapps\common\Stardew Valley\Stardew Valley.exe'])
能否尝试使用游戏的appid使用steam命令行:
subprocess.call(r"C:\Program Files (x86)\Steam\Steam.exe -applaunch 413150")
您可以在桌面快捷方式属性"web document tab"中找到应用程序 ID
(可以通过右键单击并 select 在 steam 库中创建桌面快捷方式来生成)。
它会是这样的 steam://rungameid/413150
您可以使用以下方式:
import os
os.startfile("D:\SteamR\steamapps\common\Stardew Valley\Stardew Valley.exe")
这段代码的作用是,它只是使用其 windows 分配的默认程序打开文件。
这种启动方式的缺点是它不会 return 任何进程对象。因此,为了管理您需要使用 win32 包或其他程序的进程。