python脚本调用外部程序的若干种方式以及利弊
生活随笔
收集整理的這篇文章主要介紹了
python脚本调用外部程序的若干种方式以及利弊
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
腳本執行外部程序的常用幾種方式:
# os.popen(path)# subprocess.run(cmd,shell=True)
# subprocess.check_call(cmd,shell = True)
# os.system(command)
# win32api.ShellExecute(0, 'open', path, '', '', 0)
?
os.popen(path) 和 os.system(command)
這兩種執行的效果是差不多的,都通過CMD把程序跑起來,然而他們啟動都可能會彈出CMD的黑框,注意是可能!,有些程序不會
看效果圖:
?
?
subprocess.check_call(path) subprocess.call(path), subprocess.run(path)這三種方式需要導subprocess庫
這三種方式啟動外部程序是在代碼運行到此行時進入阻塞,等到外部程序運行結束才會繼續往下執行
此處還有一個非常奇怪的現象:
?
在pycharm里通過這三種方式打開QQ.EXE,點擊結束程序時會把QQ進程也關掉,QQ登陸后再點結束是不會被關的
疑問待后期有資料再補充
?
另外一種不太常見的方式就是
win32api.ShellExecute(0, 'open', path, '', '', 0)這種方式是我目前用得最舒服的一種,特點是:1.不阻塞當前進程,2.關閉當前腳本不影響被開啟程序的執行
但是需要注意的是,用它需要安裝win32api庫,可以自行網上搜資料下載
?
?
資料不全,純手碼,還望能幫到同仁們!謝謝
?
轉載于:https://www.cnblogs.com/dongxixi/p/10829263.html
總結
以上是生活随笔為你收集整理的python脚本调用外部程序的若干种方式以及利弊的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 列Readonly的问题
- 下一篇: centOS安装python3.7.2