小編給大家分享一下python中sys和argv的應(yīng)用方法,相信大部分人都還不怎么了解,因此分享這篇文章給大家學(xué)習(xí),希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去學(xué)習(xí)方法吧!
公司主營業(yè)務(wù):成都網(wǎng)站設(shè)計、網(wǎng)站制作、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)推出臨洮免費做網(wǎng)站回饋大家。
1、python中sys和argv的應(yīng)用:
sys為python的內(nèi)置模塊,提供了很多函數(shù)和變量來處理Python運行時環(huán)境的不同部分。還有一點,可以引入這個東西到實現(xiàn)web跟Python之間的交互。 比如說,web端傳遞一個參數(shù)或者文件/圖片等過來,python接收,最后Python處理以后,返回結(jié)果給web前端顯示。
argv為“參數(shù)變量”,是一個參數(shù)列表,且第一個參數(shù)為腳本名稱。
sys.argv為sys模塊的參數(shù)變量,同樣可以視為參數(shù)列表,通過sys.argv[ ]來提取。sys.argv[0]表示參數(shù)列表中的第一個參數(shù),即腳本本身名稱;sys.argv[1]表示第二參數(shù),如下圖3,對應(yīng)ex14.py,a,b,c中的第二參數(shù),a。
以《笨辦法學(xué)Python》中的例子來說明兩者的作用與區(qū)別:
兩者所實現(xiàn)的結(jié)果一樣,都將命令行輸入?yún)?shù)轉(zhuǎn)為輸出。
只是from sys import argv可以通過a,b,c,d……=argv來進行批量參數(shù)賦值,將argv中的參數(shù)依次賦值給左邊的變量。
而import sys去只能通過a=sys.argv[]這樣來逐個賦值。
兩者的另一個區(qū)別在于命令行參數(shù)的輸入上:
使用from sys import argv語句,則輸入?yún)?shù)的數(shù)量必須與a,b,c,d……=argv中賦值的變量數(shù)量相同,否則會報錯;
而import sys則不會,哪怕輸入數(shù)量大于所讀取的數(shù)量也無所謂,sys.argv[ ]只會按位讀取。
至于為什么會有這樣的差別,或許就是因為sys.argv[ ]的按位讀取吧。
2、web端的應(yīng)用:
這是在我自己的深度學(xué)習(xí)項目中使用到的部分截圖。
就是使用web前端上傳一張圖片存到tomcat服務(wù)器下,然后java控制層拿到這個上傳路徑path,然后調(diào)用python腳本,執(zhí)行模型識別。最后返回結(jié)構(gòu),java讀取傳遞到j(luò)sp頁面顯示。
從web端上傳一張照片保存到tomcat服務(wù)器下,得到一個上傳路徑path,然后在java控制層里面調(diào)用python文件的時候后面還附加了一個path,這個就是傳遞的參數(shù)。
然后到了python文件之中,使用from sys import argv的方式。把傳遞來的path作為參數(shù)接收。
img=argv[1] 就是接收圖片,然后進行處理。
最后Python文件中的print 輸出語句可以輸出到web項目的開發(fā)工具eclipse的控制臺中。
然后在java中使用文件輸入輸出流來讀取控制臺消息,如上上圖的:
in.readline();
就拿到了python處理以后的數(shù)據(jù),然后傳遞到j(luò)sp頁面顯示即可。
以上是python中sys和argv的應(yīng)用方法的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!