如何用Python在Windows桌面运行.exe文件并解决路径调用错误
问题解决方法
1. 修复原代码的运行错误
你的错误是因为路径中包含空格时,os.system会将路径拆分成多个参数,导致系统无法识别完整的可执行文件路径。解决方法有两种:
方法一:给路径添加引号
用双引号包裹路径字符串,确保系统识别为完整路径:
import os test_exe_path = os.path.join(os.environ['USERPROFILE'], 'Desktop', 'Test.exe') # 用双引号包裹路径,避免空格导致的路径拆分 os.system(f'"{test_exe_path}"')
方法二:使用更可靠的subprocess模块(推荐)
subprocess是Python官方推荐替代os.system的模块,无需手动处理空格问题,功能更完善:
import subprocess import os test_exe_path = os.path.join(os.environ['USERPROFILE'], 'Desktop', 'Test.exe') subprocess.run([test_exe_path], check=True)
2. 调用Desktop/Test/test.exe的方法
只需在路径拼接时多添加一层Test目录即可,同样推荐用subprocess:
import subprocess import os test_exe_path = os.path.join(os.environ['USERPROFILE'], 'Desktop', 'Test', 'test.exe') subprocess.run([test_exe_path], check=True)
额外优化:获取更准确的桌面路径
部分非英文系统的桌面路径可能不是USERPROFILE/Desktop,可以用以下方法获取系统真实桌面路径:
import subprocess import win32com.client # 需先安装依赖:pip install pywin32 shell = win32com.client.Dispatch("WScript.Shell") desktop_path = shell.SpecialFolders("Desktop") test_exe_path = os.path.join(desktop_path, 'Test', 'test.exe') subprocess.run([test_exe_path], check=True)
内容的提问来源于stack exchange,提问作者JoeCastro
相关产品推荐
相关产品推荐

