python中3種調(diào)用可執(zhí)行文件.exe的方法
總結(jié):最后一種方法可以同時(shí)打開(kāi)兩個(gè)文件。
方法一、os.system() 會(huì)保存可執(zhí)行程序中的打印值和主函數(shù)的返回值,且會(huì)將執(zhí)行過(guò)程中要打印的內(nèi)容打印出來(lái)
import os
main = "project1.exe"
r_v = os.system(main)
print (r_v )
方法二、commands.getstatusoutput() 會(huì)保存可執(zhí)行程序中的打印值和主函數(shù)的返回值,但不會(huì)將執(zhí)行過(guò)程中要打印的內(nèi)容打印出來(lái)
import subprocess
import os
main = "project1.exe"
if os.path.exists(main):
rc,out= subprocess.getstatusoutput(main)
print (rc)
print ('*'*10)
print (out)
方法三、popen() 會(huì)保存可執(zhí)行程序中的打印值,但不會(huì)保存主函數(shù)的返回值,也但不會(huì)將執(zhí)行過(guò)程中要打印的內(nèi)容打印出來(lái)
import os
main = "project1.exe"
f = os.popen(main)
data = f.readlines()
f.close()
print (data)
另外,上面提到的三種方式,實(shí)際上都是在python中執(zhí)行命令,因此他們不只是用來(lái)執(zhí)行可執(zhí)行文件,也可以用來(lái)執(zhí)行l(wèi)inux系統(tǒng)中別的指令。
————————————————
import subprocess import os #main = "F:\BaiduNetdiskDownload\FoxitReader.exe F:\BaiduNetdiskDownload\PSiCC2-CN.pdf" pdf_file = "F:\BaiduNetdiskDownload\FoxitReader.exe F:\BaiduNetdiskDownload\程序員的自我修養(yǎng).pdf" src ="F:\BaiduNetdiskDownload\PSiCC2-CN.pdf" #md_file = "C:\Program Files\Typora\Typora.exe H:\gitLab\cpractice\程序員的自我修養(yǎng).md" md_file = "D:\App\Typora\Typora.exe H:\gitLab\cpractice\程序員的自我修養(yǎng).md" # 這種方式 只能打開(kāi)一個(gè) exe, 另一個(gè)打開(kāi),需要先關(guān)閉上一個(gè)exe #r_v = os.system(pdf_file) #r_v = os.system(md_file) #print (r_v) #方式 2 也需要關(guān)閉上一個(gè)打開(kāi)的文件 才能繼續(xù)執(zhí)行另一個(gè)exe 文件 #rc,out = subprocess.getstatusoutput(md_file) #rc,out = subprocess.getstatusoutput(pdf_file) #rc, out = subprocess.getstatusoutput(md_file) # 最終使用這種方式,可以同時(shí)打開(kāi) 兩個(gè)不同類(lèi)型的文件 。 os.popen(md_file) os.popen(pdf_file)
原文鏈接:https://blog.csdn.net/zsc201825/article/details/80918185
*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。