You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

从文本读取路径用os.startfile()启动launcher.exe后程序立即关闭,如何修复?

问题解决思路

1. 修复路径读取的格式问题

你的文本文件内容包含方括号[],且readline()会读取到末尾的换行符\n,导致传递给os.startfile()的是无效路径(比如[C:\Sobee\Game\launcher.exe]\n)。先清理路径字符串:

import os

with open("fihrist.txt", "r") as file:
    # 先去除首尾空白(含换行符),再去掉方括号
    target_path = file.readline().strip().strip('[]')

os.startfile(target_path)

2. 排查launcher.exe本身是否正常

直接找到C:\Sobee\Game\launcher.exe双击运行:

  • 如果双击也出现打开即关闭的情况,说明是程序自身问题:
    • 尝试右键以管理员身份运行
    • 检查游戏目录是否缺失依赖文件(比如VC++运行库、相关dll)
    • 查看程序目录下是否有日志文件,定位具体错误原因
  • 如果双击能正常运行,问题则出在代码逻辑上

3. 调整工作目录(针对依赖当前目录的程序)

部分程序需要在自身所在目录下运行,os.startfile()不会自动切换工作目录,可改用subprocess模块指定工作目录:

import subprocess
import os

with open("fihrist.txt", "r") as file:
    target_path = file.readline().strip().strip('[]')
    # 提取程序所在的目录
    working_dir = os.path.dirname(target_path)
    # 指定工作目录启动程序
    subprocess.Popen([target_path], cwd=working_dir)

4. 其他排查点

  • 确认路径中无特殊字符或空格(若有,subprocess会自动处理路径包裹)
  • 检查Python脚本是否有足够权限启动目标程序

内容的提问来源于stack exchange,提问作者hax1254

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 12:25:13