簡體   English   中英

使用python os或子進程模塊在后台運行命令行程序

[英]running command line programs in background using python os or subprocess module

我試圖在os使用ossubproccess模塊運行命令。 在終止之前,命令提示符窗口會短暫閃爍。 有沒有一種方法可以消除彈出的命令提示符窗口。

例如:

os.system("ffmpeg -i output.wav output.flac")

有沒有一種方法可以讓我在后台運行此程序,以使用戶可能不會注意到此..?

我正在使用python 2.7運行Windows 7。

的粗略...您甚至用要使用的模塊對其進行了標記...

subproccess.Popen("ffmpeg -i output.wav output.flac".split(),shell=True).communicate()

應該做...

最簡單的方法是嘗試利用子subproccess模塊對STARTUPINFO結構的部分支持。 像這樣:

info = subprocess.STARTUP_INFO()
info.dwFlags = subprocess.STARTF_USESTDHANDLES | subprocess.STARTF_USESHOWWINDOW
info.wShowWindow = subprocess.SW_HIDE

process = subprocess.Popen("ffmpeg -i output.wav output.flac", startupinfo=info)
process.wait()

def asyncRun(command): os.system(command)

t = Thread(target=asyncRun, args=('ping 127.0.0.1 -s 271',)) t.start()

適用於Windows 10 + EMET + 2.7

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM