繁体   English   中英

Python:在没有cmd界面或隐藏或在后台的子Shell中执行命令

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM