博客專欄

EEPW首頁 > 博客 > python中3種調(diào)用可執(zhí)行文件.exe的方法

python中3種調(diào)用可執(zhí)行文件.exe的方法

發(fā)布人:電子禪石 時間:2021-05-10 來源:工程師 發(fā)布文章

總結(jié):最后一種方法可以同時打開兩個文件。

方法一、os.system()  會保存可執(zhí)行程序中的打印值和主函數(shù)的返回值,且會將執(zhí)行過程中要打印的內(nèi)容打印出來


import os  

main = "project1.exe"

r_v = os.system(main) 

print (r_v )

方法二、commands.getstatusoutput()  會保存可執(zhí)行程序中的打印值和主函數(shù)的返回值,但不會將執(zhí)行過程中要打印的內(nè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()  會保存可執(zhí)行程序中的打印值,但不會保存主函數(shù)的返回值,也但不會將執(zhí)行過程中要打印的內(nèi)容打印出來


import os

main = "project1.exe"

f = os.popen(main)    

data = f.readlines()    

f.close()    

print (data)

另外,上面提到的三種方式,實際上都是在python中執(zhí)行命令,因此他們不只是用來執(zhí)行可執(zhí)行文件,也可以用來執(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"
# 這種方式 只能打開一個 exe, 另一個打開,需要先關(guān)閉上一個exe 
#r_v = os.system(pdf_file)

#r_v = os.system(md_file)

#print (r_v)
#方式 2 也需要關(guān)閉上一個打開的文件 才能繼續(xù)執(zhí)行另一個exe 文件
#rc,out = subprocess.getstatusoutput(md_file)
#rc,out = subprocess.getstatusoutput(pdf_file)
#rc, out = subprocess.getstatusoutput(md_file)
# 最終使用這種方式,可以同時打開 兩個不同類型的文件 。
os.popen(md_file)
os.popen(pdf_file)

原文鏈接:https://blog.csdn.net/zsc201825/article/details/80918185


*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。



關(guān)鍵詞: python

相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉