python 怎么啟動一個外部命令程序, 並且不阻塞當前進程


http://www.myexception.cn/perl-python/1278887.html http://blog.chinaunix.net/uid-25979788-id-3081912.html python 如何啟動一個外部命令程序, 並且不阻塞當前進程 在python中如何運行外部命令,並且調用后立即返回,不阻塞當前的進程。 調用 os.system函數時, python程序會被阻塞住, 直到外部命令結束。 比如我通過os.system('notepad'),運行記事本,除非我關閉記事本,不然python程序會一直阻塞, 有哪些方法能夠不阻塞的運行外面命令嗎?
python
------解決方案-------------------- subprocess.Popen os.startfile   import os os.system(r'"D:\Program Files\Foxit Software\Foxit reader.exe" abc.pdf') 偶想""是不可缺少的,因為路徑中有空格,否則極容易出錯;對-參數不了解,不發表意見 使用os.system會有幾個問題: 1、os.system會阻塞程序繼續運行(如果是圖形界面,還會把圖形界面搞的沒反應),當然如果需要阻塞,自然不是問題。 2、os.system會打開一個命令行窗口,這是比較討厭的;除非你確實需要顯示這個命令行窗口或者本來就是命令行里運行的。 所以還是建議使用 os.popen,基本語法是一樣的 import os os.popen(r'"D:\Program Files\Foxit Software\Foxit reader.exe" abc.pdf') 這樣不會出現命令行窗口,不會阻塞程序運行 如果需要阻塞程序運行,可以這樣寫: os.popen(r'"D:\Program Files\Foxit Software\Foxit reader.exe" abc.pdf').read()


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM