使用Python脚本启动Stellarium时提示找不到stellarium.exe如何解决
错误原因
你的代码存在两个核心问题:
- 字符串拼接时引号转义逻辑错误,连续未转义的双引号被Python识别为空字符串,最终生成的启动命令没有正确传入Stellarium的安装路径,导致系统找不到exe文件
- 启动脚本路径不完整,你没有指定
StartUp.ssc存放在Scripts子目录下,即使exe成功启动也会找不到对应脚本
修复方案
方案1:保留os.system调用的修改版本
直接修正字符串拼接逻辑,推荐用f-string简化写法,避免引号转义混乱:
import os import sys stellocation = "C:\\Stellarium" # 用f-string拼接命令,路径外层加双引号兼容带空格的路径 prog = f'start /d "{stellocation}" stellarium.exe --startup-script Scripts\\StartUp.ssc' os.system(prog) sys.exit()
方案2:更稳定的subprocess调用(推荐)
不需要依赖cmd的start命令,直接传入可执行文件路径和参数,完全规避引号转义和路径解析问题:
import subprocess import sys # 直接指定exe和脚本的绝对路径,路径前加r避免转义符冲突 stellarium_exe = r"C:\Stellarium\Stellarium.exe" startup_script = r"C:\Stellarium\Scripts\StartUp.ssc" subprocess.Popen([stellarium_exe, "--startup-script", startup_script]) sys.exit()
注意:如果你的Stellarium安装路径有空格,上述两种写法都已经做了兼容处理,不需要额外修改
内容的提问来源于stack exchange,提问作者Calvin
相关产品推荐
相关产品推荐

