为了账号安全,请及时绑定邮箱和手机立即绑定

如何从Python执行程序?系统由于路径中的空格而失败

如何从Python执行程序?系统由于路径中的空格而失败

慕虎7371278 2019-07-04 13:00:20
如何从Python执行程序?系统由于路径中的空格而失败我有一个Python脚本,需要执行一个外部程序,但由于某种原因失败了。如果我有以下脚本:import os;os.system("C:\\Temp\\a b c\\Notepad.exe");raw_input();如果出现以下错误,则会失败:‘c:\temp\a’不被识别为内部或外部命令、可操作的程序或批处理文件。如果我用引号逃离程序:import os;os.system('"C:\\Temp\\a b c\\Notepad.exe"');raw_input();那它就起作用了。但是,如果我添加了一个参数,它将再次停止工作:import os;os.system('"C:\\Temp\\a b c\\Notepad.exe" "C:\\test.txt"');raw_input();什么是正确的方式来执行一个程序,并等待它完成?我不需要从它读取输出,因为它是一个视觉程序,做一项工作,然后只是退出,但我需要等待它完成。另外,请注意,将程序移动到非间隔路径也不是一种选择。这也不起作用:import os;os.system("'C:\\Temp\\a b c\\Notepad.exe'");raw_input();注意交换的单引号/双引号。这里有或没有记事本的参数,它会在错误消息中失败。文件名、目录名或卷标签语法不正确。
查看完整描述

3 回答

?
largeQ

TA贡献2039条经验 获得超7个赞

这里有一种不同的方法。

如果您正在使用Windows,请执行以下操作,如双击资源管理器中的文件,或将文件名作为DOS“start”命令的参数:打开该文件时,它的扩展名与它的任何应用程序(如果有的话)相关联。

filepath = 'textfile.txt'import os
os.startfile(filepath)

例子:

import os
os.startfile('textfile.txt')

如果记事本与.txt文件关联,这将使用记事本打开textfile.txt。


查看完整回答
反对 回复 2019-07-04
  • 3 回答
  • 0 关注
  • 2202 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信