Python中sys.argv用法圖文詳解
一、Python sys 模塊
“sys” 是 “system”,是一個(gè)系統(tǒng)模塊,該模塊提供了一些接口,用戶訪問python解釋器自身使用和維護(hù)的變量,同時(shí)模塊中還提供了一些函數(shù),而我們今天要講解的 argv 就是其中一個(gè)函數(shù)。
二、sys.argv
上一篇文章我們講到了引用模塊,這里sys 就相當(dāng)于一個(gè)模塊,而argv就是模塊里的一個(gè)函數(shù)。
“argv” 即 “argument value” 是一個(gè)列表對(duì)象,其中存儲(chǔ)的是在命令行調(diào)用 python 腳本是提供的 “命令行參數(shù)”。
這里重點(diǎn)理解這句話,我們舉例來說明:
先看一個(gè)簡(jiǎn)單的例子:
import sys print(sys.argv[0])
我們看一下輸出結(jié)果:
這里我們將 文件命名為 test.py 放在我們的系統(tǒng)目錄下,在cmd下執(zhí)行:python test.py
我們看一下輸出結(jié)果;
可以看到結(jié)果是:被調(diào)用的腳本文件名或全路徑
這里需要強(qiáng)調(diào)的是:argv[0] 是 被調(diào)用的腳本文件名或全路徑。
那我們改一下程序,再試試:
import sys print(sys.argv[1])
這里我們將代碼改成 argv[1]
此時(shí)我們輸入 python test.py hello 看一下運(yùn)行結(jié)果:
看到這,是不是有的小伙伴就明白啦,sys.argv[]其實(shí)就是一個(gè)列表。
那我們?cè)僭囈粋€(gè),既然sys.argv是一個(gè)列表,我們就讓它從第三個(gè)開始輸出:
import sys print(sys.argv[2:])
看一下運(yùn)行結(jié)果:
這次我們輸入的是 1 2 3 4 5 ,我們期望從列表的第三個(gè)元素開始輸出,結(jié)果也很我們期望的一樣,講到這里,sys.argv就被我們徹底搞懂了。
總結(jié):
sys.argv[]是一個(gè)列表
sys.argv[0]是被調(diào)用的腳本文件名或全路徑
sys.argv[1:]之后的元素就是我們從程序外部輸入的,而非代碼本身的,想要看到它的效果,就要將程序保存,從外部運(yùn)行程序并給參數(shù),這也是我們?cè)赾md里面運(yùn)行的原因。
提升:
既然已經(jīng)搞明白了 sys.argv[]的基本用法,那我們?cè)贉y(cè)試一下:
import sys for index,arg in enumerate(sys.argv): print("第%d個(gè)參數(shù)是: %s" % (index, arg))
這次輸入: a b c d e
我們可以看到輸出結(jié)果是將 腳本文件名和我們輸入的參數(shù)依次輸出。
到此這篇關(guān)于Python中sys.argv用法的文章就介紹到這了,更多相關(guān)Python sys.argv用法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python 實(shí)現(xiàn)format進(jìn)制轉(zhuǎn)換與刪除進(jìn)制前綴
這篇文章主要介紹了python 實(shí)現(xiàn)format進(jìn)制轉(zhuǎn)換與刪除進(jìn)制前綴的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-03-03Python中單引號(hào)、雙引號(hào)和三引號(hào)具體的用法及注意點(diǎn)
這篇文章主要給大家介紹了關(guān)于Python中單引號(hào)、雙引號(hào)和三引號(hào)具體的用法及注意點(diǎn)的相關(guān)資料,Python中單引號(hào)、雙引號(hào)、三引號(hào)中使用常常困惑,想弄明白這三者相同點(diǎn)和不同點(diǎn),需要的朋友可以參考下2023-07-07正確理解Python中if __name__ == ''__main__''
今天小編就為大家分享一篇關(guān)于正確理解Python中if __name__ == '__main__' ,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-01-01使用Python的Twisted框架編寫非阻塞程序的代碼示例
Twisted是基于異步模式的開發(fā)框架,因而利用Twisted進(jìn)行非阻塞編程自然也是必會(huì)的用法,下面我們就來一起看一下使用Python的Twisted框架編寫非阻塞程序的代碼示例:2016-05-05python實(shí)現(xiàn)簡(jiǎn)單反彈球游戲
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)簡(jiǎn)單反彈球游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-04-04詳解Python實(shí)現(xiàn)按任意鍵繼續(xù)/退出的功能
在學(xué)Python時(shí)在總想實(shí)現(xiàn)一個(gè)按任意鍵繼續(xù)/退出的程序(受.bat毒害), 奈何一直沒有寫,今天抽時(shí)間寫出來了,下面分享給大家,有需要的可以參考借鑒。2016-08-08