方法一、os.system() 會保存可執(zhí)行程序中的打印值和主函數(shù)的返回值,且會將執(zhí)行過程中要打印的內(nèi)容打印出來。
創(chuàng)新互聯(lián)公司專注于陵城企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站開發(fā),成都做商城網(wǎng)站。陵城網(wǎng)站建設(shè)公司,為陵城等地區(qū)提供建站服務(wù)。全流程按需網(wǎng)站建設(shè),專業(yè)設(shè)計,全程項目跟蹤,創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)
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)中別的指令。
關(guān)于python中3種調(diào)用可執(zhí)行文件.exe的方法,環(huán)球青藤小編就和大家分享到這里了,學(xué)習(xí)是永無止境的,學(xué)習(xí)一項技能更是受益終身,所以,只要肯努力學(xué),什么時候開始都不晚。如果您還想繼續(xù)了解關(guān)于python編程的學(xué)習(xí)方法及素材等內(nèi)容,可以點擊本站其他文章學(xué)習(xí)。
1、在同一個文件夾下調(diào)用函數(shù):A.py文件:B.py文件:
2、或調(diào)用類:A.py文件:B.py文件:
3、或在不同文件夾下A.py文件的文件路徑:E:\PythonProject\winycgB.py文件:
1. 如何從零開始編寫Python函數(shù)?
參考另一篇文章:
2. IDEA如何調(diào)用編寫的Python文件?
a. 將編寫的Python文件放入到RIDE 某個Project的一個用于存放Custom Library的文件夾下
b. 在Directory或者Test Suite或者Test Case Level的Edit Page中Import對應(yīng)的python文件作為library
其中黑色的Library表示引用成功。
紅色的表示引用失敗(一般都是文件路徑錯誤,或者文件編譯出錯)。
藍色的表示引用的是關(guān)鍵字或者定義的變量資源。
3. Python 文件中的函數(shù)如何被添加到Test Step中調(diào)用?
如下圖所示,我的PreparePremia.py被添加到Attribution Test Suite級別了,所以這個Test Suite下面所有的Test Case都可以解析該python中的函數(shù),我們看看“save_monthly_premia_data”是如何被用到Test Step中的:
Test Step的最后一行關(guān)鍵字"Save Monthly Premia Data"就是調(diào)用了該文件中的關(guān)鍵字:
可以按F5查看:
4. Python文件中的函數(shù)如何被Test Suite調(diào)用?
我們打開Test Case可以看到添加Test Step的table,明顯就能看出如何調(diào)用python中的函數(shù)。
但是打開Test Suite面板,我們看到了什么?
只有Settings, variables 和Metadata區(qū)域。。。
截圖上我在Suite Setup的時候調(diào)用了一個自定義關(guān)鍵字“Get Input Params”,并且傳遞了兩個參數(shù)"${SUITE NAME}"和"RiskAttributionCalculation",那這個關(guān)鍵字是怎么來的呢?
可以看到這個自定義關(guān)鍵字其實也是調(diào)用了“ExcelUtil.py”文件中的“parse_input_params”函數(shù)的:
并且還設(shè)置了一個Suite級別的全局變量“${input_params}”。
所以:
Suite Setup的意思就是:
調(diào)用自定義關(guān)鍵字"Get Input Params"得到一個全局變量"${input_params}".
因此:
Test Suite級別都是引用自定義的關(guān)鍵字來初始化某些值。而這個自定義的關(guān)鍵字會調(diào)用Python文件中的函數(shù)。
5. 得到的Suite級別的變量如何被調(diào)用呢?
因為MonthlyPremia是Attribution Suite下面的Test Case, 所以這個Case是可以直接調(diào)用"${input_params}"的哦~~。
我返回的input_params是dict,所以需要傳入key來得到對應(yīng)的Value。
寫的很直白哦,如果有什么問題大家可以留言哦,謝謝閱讀,么么噠~~~
python調(diào)用read,readline,readlines這三個函數(shù)不能實現(xiàn)對文件內(nèi)容的讀取。根據(jù)調(diào)查相關(guān)公開材料,Python由荷蘭數(shù)學(xué)和計算機科學(xué)研究學(xué)會的吉多·范羅蘇姆于1990年代初設(shè)計,作為一門叫做ABC語言的替代品。Python提供了高效的高級數(shù)據(jù)結(jié)構(gòu),還能簡單有效地面向?qū)ο缶幊獭ython語法和動態(tài)類型,以及解釋型語言的本質(zhì),成為多數(shù)平臺上寫腳本和快速開發(fā)應(yīng)用的編程語言,隨著版本的不斷更新和語言新功能的添加,逐漸被用于獨立的、大型項目的開發(fā)。
【python】如何在某.py文件中調(diào)用其他.py內(nèi)的函數(shù)
假設(shè)名為A.py的文件需要調(diào)用B.py文件內(nèi)的C(x,y)函數(shù)
假如在同一目錄下,則只需
import Bif __name__ == "__main__":
B.C(x,y)
若只需調(diào)用單個函數(shù),也可以
from B import Cif __name__ == "__main__":
C(x,y)
若A.py和B.py位于不同的目錄下,可以用以下方法
(假設(shè)B.py位于D盤的根目錄下)
1.引用所在路徑
import sys
sys.path.append('D:/')import Bif __name__=="__main__": print B.pr(x,y)
2.使用imp
import imp
B=imp.load_source('B','D:/B.py')import Bif __name__=="__main__": print B.pr(x,y)
在同一個文件夾下
調(diào)用函數(shù):
A.py文件:
B.py文件:
或
調(diào)用類:
A.py文件:
B.py文件:
或
在不同文件夾下
A.py文件的文件路徑:E:\PythonProject\winycg
B.py文件:
針對這個問題,網(wǎng)上有很多的解決方式。其實最主要的原因是因為Python無法正確找到你其他文件夾下文件的路徑。針對不同的環(huán)境和問題有不同的方法,大家可自行測試。
方法一
環(huán)境,Python為3.5,pycharm工作區(qū)間。主文件(main_preprocess.py)需要運用split_by_date.py中的函數(shù),main_preprocess與split_by_date在同一個大文件夾下,其中split_by_date在preprocess文件夾下
2.文件夾目錄視圖:
3.以下問題針對的問題如下:
在此處有一個文件???application/app/folder/file.py
想在?application/app2/some_folder/some_file.py? 中應(yīng)用file.py
方法二
方法三
但是這個方法必須保證folder文件夾(也就是需要的文件夾下)包含__init__.py,若是沒有,可以新建一個
方法四
此法適用于 python3 on linux
方法五
當(dāng)文件在平行路徑下時,如
application/app2/some_folder/some_file.py
application/app2/another_folder/another_file.py