Python调用exec启动程序报SyntaxError行续行符后存在意外字符如何解决
错误原因
- 字符串转义规则冲突:Windows系统路径使用的反斜杠
\在Python字符串中默认作为转义字符,会和后续字符组合为特殊转义序列,你代码中的路径未做转义处理,部分\被识别为行续行符后仍有多余字符,触发对应语法错误。 - 函数使用错误:
exec()是用于执行Python代码字符串的函数,无法直接传入exe路径启动外部程序,即使路径转义正确也无法实现需求。
修复方案
启动Windows下的外部程序可直接使用系统自带的os.startfile方法,路径可通过添加字符串前缀r标记为原生字符串,避免转义判定:
import os os.startfile(r"C:\Program Files (x86)\Hearthstone\Hearthstone.exe")
除了使用r前缀标记原生字符串外,你也可以用双反斜杠转义\、或者用正斜杠/替换路径中的反斜杠实现同样的效果。
如果需要对程序启动过程做更精细的控制,可使用subprocess模块实现:
import subprocess subprocess.Popen(r"C:\Program Files (x86)\Hearthstone\Hearthstone.exe")
内容的提问来源于stack exchange,提问作者Zacarias_Barreto
相关产品推荐
相关产品推荐

