您好,登錄后才能下訂單哦!
小編給大家分享一下python中sys和argv的應用方法,相信大部分人都還不怎么了解,因此分享這篇文章給大家學習,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去學習方法吧!
1、python中sys和argv的應用:
sys為python的內置模塊,提供了很多函數和變量來處理Python運行時環境的不同部分。還有一點,可以引入這個東西到實現web跟Python之間的交互。 比如說,web端傳遞一個參數或者文件/圖片等過來,python接收,最后Python處理以后,返回結果給web前端顯示。
argv為“參數變量”,是一個參數列表,且第一個參數為腳本名稱。
sys.argv為sys模塊的參數變量,同樣可以視為參數列表,通過sys.argv[ ]來提取。sys.argv[0]表示參數列表中的第一個參數,即腳本本身名稱;sys.argv[1]表示第二參數,如下圖3,對應ex14.py,a,b,c中的第二參數,a。
以《笨辦法學Python》中的例子來說明兩者的作用與區別:
兩者所實現的結果一樣,都將命令行輸入參數轉為輸出。
只是from sys import argv可以通過a,b,c,d……=argv來進行批量參數賦值,將argv中的參數依次賦值給左邊的變量。
而import sys去只能通過a=sys.argv[]這樣來逐個賦值。
兩者的另一個區別在于命令行參數的輸入上:
使用from sys import argv語句,則輸入參數的數量必須與a,b,c,d……=argv中賦值的變量數量相同,否則會報錯;
而import sys則不會,哪怕輸入數量大于所讀取的數量也無所謂,sys.argv[ ]只會按位讀取。
至于為什么會有這樣的差別,或許就是因為sys.argv[ ]的按位讀取吧。
2、web端的應用:
這是在我自己的深度學習項目中使用到的部分截圖。
就是使用web前端上傳一張圖片存到tomcat服務器下,然后java控制層拿到這個上傳路徑path,然后調用python腳本,執行模型識別。最后返回結構,java讀取傳遞到jsp頁面顯示。
從web端上傳一張照片保存到tomcat服務器下,得到一個上傳路徑path,然后在java控制層里面調用python文件的時候后面還附加了一個path,這個就是傳遞的參數。
然后到了python文件之中,使用from sys import argv的方式。把傳遞來的path作為參數接收。
img=argv[1] 就是接收圖片,然后進行處理。
最后Python文件中的print 輸出語句可以輸出到web項目的開發工具eclipse的控制臺中。
然后在java中使用文件輸入輸出流來讀取控制臺消息,如上上圖的:
in.readline();
就拿到了python處理以后的數據,然后傳遞到jsp頁面顯示即可。
以上是python中sys和argv的應用方法的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。