溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

python中sys和argv的應(yīng)用方法

發(fā)布時(shí)間:2020-08-04 13:56:53 來(lái)源:億速云 閱讀:256 作者:清晨 欄目:編程語(yǔ)言

小編給大家分享一下python中sys和argv的應(yīng)用方法,相信大部分人都還不怎么了解,因此分享這篇文章給大家學(xué)習(xí),希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去學(xué)習(xí)方法吧!

1、python中sys和argv的應(yīng)用:

sys為python的內(nèi)置模塊,提供了很多函數(shù)和變量來(lái)處理Python運(yùn)行時(shí)環(huán)境的不同部分。還有一點(diǎn),可以引入這個(gè)東西到實(shí)現(xiàn)web跟Python之間的交互。 比如說(shuō),web端傳遞一個(gè)參數(shù)或者文件/圖片等過(guò)來(lái),python接收,最后Python處理以后,返回結(jié)果給web前端顯示。

argv為“參數(shù)變量”,是一個(gè)參數(shù)列表,且第一個(gè)參數(shù)為腳本名稱(chēng)。

sys.argv為sys模塊的參數(shù)變量,同樣可以視為參數(shù)列表,通過(guò)sys.argv[ ]來(lái)提取。sys.argv[0]表示參數(shù)列表中的第一個(gè)參數(shù),即腳本本身名稱(chēng);sys.argv[1]表示第二參數(shù),如下圖3,對(duì)應(yīng)ex14.py,a,b,c中的第二參數(shù),a。

以《笨辦法學(xué)Python》中的例子來(lái)說(shuō)明兩者的作用與區(qū)別:

python中sys和argv的應(yīng)用方法

python中sys和argv的應(yīng)用方法

python中sys和argv的應(yīng)用方法

兩者所實(shí)現(xiàn)的結(jié)果一樣,都將命令行輸入?yún)?shù)轉(zhuǎn)為輸出。

只是from sys import argv可以通過(guò)a,b,c,d……=argv來(lái)進(jìn)行批量參數(shù)賦值,將argv中的參數(shù)依次賦值給左邊的變量。

而import sys去只能通過(guò)a=sys.argv[]這樣來(lái)逐個(gè)賦值。

兩者的另一個(gè)區(qū)別在于命令行參數(shù)的輸入上:

使用from sys import argv語(yǔ)句,則輸入?yún)?shù)的數(shù)量必須與a,b,c,d……=argv中賦值的變量數(shù)量相同,否則會(huì)報(bào)錯(cuò);

而import sys則不會(huì),哪怕輸入數(shù)量大于所讀取的數(shù)量也無(wú)所謂,sys.argv[ ]只會(huì)按位讀取。

至于為什么會(huì)有這樣的差別,或許就是因?yàn)閟ys.argv[ ]的按位讀取吧。

2、web端的應(yīng)用:

這是在我自己的深度學(xué)習(xí)項(xiàng)目中使用到的部分截圖。

就是使用web前端上傳一張圖片存到tomcat服務(wù)器下,然后java控制層拿到這個(gè)上傳路徑path,然后調(diào)用python腳本,執(zhí)行模型識(shí)別。最后返回結(jié)構(gòu),java讀取傳遞到j(luò)sp頁(yè)面顯示。

從web端上傳一張照片保存到tomcat服務(wù)器下,得到一個(gè)上傳路徑path,然后在java控制層里面調(diào)用python文件的時(shí)候后面還附加了一個(gè)path,這個(gè)就是傳遞的參數(shù)。

python中sys和argv的應(yīng)用方法

然后到了python文件之中,使用from sys import argv的方式。把傳遞來(lái)的path作為參數(shù)接收。

python中sys和argv的應(yīng)用方法

img=argv[1] 就是接收?qǐng)D片,然后進(jìn)行處理。

最后Python文件中的print 輸出語(yǔ)句可以輸出到web項(xiàng)目的開(kāi)發(fā)工具eclipse的控制臺(tái)中。

然后在java中使用文件輸入輸出流來(lái)讀取控制臺(tái)消息,如上上圖的:

in.readline();

就拿到了python處理以后的數(shù)據(jù),然后傳遞到j(luò)sp頁(yè)面顯示即可。

以上是python中sys和argv的應(yīng)用方法的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI