猿问

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

如何从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();

注意交换的单引号/双引号。

这里有或没有记事本的参数,它会在错误消息中失败。

文件名、目录名或卷标签语法不正确。


慕虎7371278
浏览 2203回答 3
3回答

largeQ

这里有一种不同的方法。如果您正在使用Windows,请执行以下操作,如双击资源管理器中的文件,或将文件名作为DOS“start”命令的参数:打开该文件时,它的扩展名与它的任何应用程序(如果有的话)相关联。filepath = 'textfile.txt'import os os.startfile(filepath)例子:import os os.startfile('textfile.txt')如果记事本与.txt文件关联,这将使用记事本打开textfile.txt。
随时随地看视频慕课网APP

相关分类

Python
我要回答