[英]Python: Execute a command in a subshell without cmd interface or hidden or in background
我想知道如何执行命令,出现cmd窗口。 我的代码是使用Python,操作系统是Windows7。
有问题的行是: os.system(pathandarguments)
程序运行良好,使用参数执行给定的路径,但是由于程序窗口最小化,我松开了程序的控制,我看到cmd窗口一秒钟,然后窗口程序没有最大化。
我想执行字符串pathandarguments而不最小化我的主体窗口。 我希望,如果可能的话,不要显示cmd窗口。 我尝试了不同的方法来做到这一点:
os.system(pathandarguments)
=可以正常工作,但是可以最小化我的程序窗口。
os.popen(pathandarguments)
= ERROR: CThread::staticThread : Access violation at 0x77498c19: Writing location 0x00000014
(不起作用)
subprocess.Popen([pathandarguments], shell=False)
= python脚本的onAction中的异常(不起作用)
提前致谢。
EDIT @martineau,问题不在于我无法导入过程,修改了我的应用程序的日志,我发现问题出在146行的导入过程中:
13:42:20 T:4116 M:2156859392 NOTICE: import win32api
13:42:20 T:4116 M:2156859392 NOTICE: ImportError
13:42:20 T:4116 M:2156859392 NOTICE: :
13:42:20 T:4116 M:2156859392 NOTICE: No module named win32api
我没有模块win32api。
很长时间以来,我一直在使用一个名为process-python的开源Python模块进行过程控制。 那里的项目状态显示“在当前状态下,它已在商业Komodo IDE项目中大量使用。” 它是多平台的,但是我开始使用它的主要原因之一是因为在Windows上它将生成没有控制台窗口的进程。 使用非常简单。 这是一个简单的例子:
import process
p = process.ProcessOpen([eventfilepath]) # open text file with associated program
ignored_exitstatus = p.wait()
希望这可以帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.