相关疑难解决方法(0)

如何从Python执行程序?由于路径中的空格,os.system失败

我有一个需要执行外部程序的Python脚本,但由于某种原因失败了.

如果我有以下脚本:

import os;
os.system("C:\\Temp\\a b c\\Notepad.exe");
raw_input();
Run Code Online (Sandbox Code Playgroud)

然后它失败并出现以下错误:

'C:\ Temp\a'不被识别为内部或外部命令,可操作程序或批处理文件.

如果我用引号来逃避程序:

import os;
os.system('"C:\\Temp\\a b c\\Notepad.exe"');
raw_input();
Run Code Online (Sandbox Code Playgroud)

然后它工作.但是,如果我添加一个参数,它会再次停止工作:

import os;
os.system('"C:\\Temp\\a b c\\Notepad.exe" "C:\\test.txt"');
raw_input();
Run Code Online (Sandbox Code Playgroud)

执行程序并等待程序完成的正确方法是什么?我不需要从中读取输出,因为它是一个可视化程序,可以完成工作然后退出,但我需要等待它完成.

另请注意,将程序移动到非间隔路径也不是一种选择.


这也不起作用:

import os;
os.system("'C:\\Temp\\a b c\\Notepad.exe'");
raw_input();
Run Code Online (Sandbox Code Playgroud)

注意交换的单/双引号.

在此处有或没有记事本参数,它会失败并显示错误消息

文件名,目录名或卷标语法不正确.

python shellexecute

264
推荐指数
7
解决办法
61万
查看次数

在python中,如何进行非阻塞系统调用?

在Python中,是否可以在不脱离线程的情况下进行非阻塞系统调用?即,我可以避免:

import thread
thread.start_new_thread(os.system,('cmd',))
Run Code Online (Sandbox Code Playgroud)

python

8
推荐指数
1
解决办法
5822
查看次数

标签 统计

python ×2

shellexecute ×1