通過實(shí)例簡單了解Python sys.argv[]使用方法
sys.argv[]說白了就是一個(gè)從程序外部獲取參數(shù)的橋梁,這個(gè)“外部”很關(guān)鍵,所以那些試圖從代碼來說明它作用的解釋一直沒看明白。因?yàn)槲覀儚耐獠咳〉玫膮?shù)可以是多個(gè),所以獲得的是一個(gè)列表(list),也就是說sys.argv其實(shí)可以看作是一個(gè)列表,所以才能用[]提取其中的元素。其第一個(gè)元素是程序本身,隨后才依次是外部給予的參數(shù)。
下面我們通過一個(gè)極簡單的test.py程序的運(yùn)行結(jié)果來說明它的用法。
import sysa=sys.argv[0]print(a)
將test.py保存在c盤的根目錄下。
在程序中找到 ‘運(yùn)行'->點(diǎn)擊->輸入"cmd"->回車鍵 進(jìn)入控制臺(tái)命令窗口(如下圖),先輸入cd c:\ (作用是將命令路徑改到c盤根目錄),然后輸入test.py運(yùn)行我們剛剛寫的程序:
得到的結(jié)果是C:\test.py,這就是0指代碼(即此.py程序)本身的意思。
然后我們將代碼中0改為1 :
a=sys.argv[1]
保存后,再從控制臺(tái)窗口運(yùn)行,這次我們加上一個(gè)參數(shù),輸入:test.py what
得到的結(jié)果就是我們輸入的參數(shù)what,看到這里你是不是開始明白了呢。
那我們再把代碼修改一下:
a=sys.argv[2:]
保存后,再從控制臺(tái)窗臺(tái)運(yùn)行程序,這次多加幾個(gè)參數(shù),以空格隔開:
test.py a b c d e f
得到的結(jié)果為[‘b', 'c', 'd', 'e', 'f']
應(yīng)該大徹大悟了吧。Sys.argv[ ]其實(shí)就是一個(gè)列表,里邊的項(xiàng)為用戶輸入的參數(shù),關(guān)鍵就是要明白這參數(shù)是從程序外部輸入的,而非代碼本身的什么地方,要想看到它的效果就應(yīng)該將程序保存了,從外部來運(yùn)行程序并給出參數(shù)。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
使用PyInstaller將Python程序文件轉(zhuǎn)換為可執(zhí)行程序文件
與py2exe一樣,PyInstaller程序也可以將Python的.py程序文件轉(zhuǎn)換為.exe,并且還有Linux的版本,下面我們就來詳細(xì)看一下如何使用PyInstaller將Python程序文件轉(zhuǎn)換為可執(zhí)行程序文件2016-07-07Python+Opencv實(shí)現(xiàn)圖像匹配功能(模板匹配)
這篇文章主要為大家詳細(xì)介紹了Python+Opencv實(shí)現(xiàn)圖像匹配功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-10-10基于Python socket實(shí)現(xiàn)簡易網(wǎng)絡(luò)聊天室
本文主要介紹了基于Python socket實(shí)現(xiàn)簡易網(wǎng)絡(luò)聊天室,本文將通過pyqt5作為桌面應(yīng)用框架,socket作為網(wǎng)絡(luò)編程的框架,從而實(shí)現(xiàn)包括客戶端和服務(wù)端的網(wǎng)絡(luò)聊天室的GUI應(yīng)用,需要的可以參考一下2022-07-07關(guān)于Tensorflow中的tf.train.batch函數(shù)的使用
本篇文章主要介紹了關(guān)于Tensorflow中的tf.train.batch函數(shù)的使用,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-04-04使用Python實(shí)現(xiàn)BT種子和磁力鏈接的相互轉(zhuǎn)換
這篇文章主要介紹了使用Python實(shí)現(xiàn)BT種子和磁力鏈接的相互轉(zhuǎn)換的方法,有時(shí)比如迅雷無法加載磁力鏈接或者無法上傳附件分享時(shí)可以用到,需要的朋友可以參考下2015-11-11在Pycharm中項(xiàng)目解釋器與環(huán)境變量的設(shè)置方法
今天小編就為大家分享一篇在Pycharm中項(xiàng)目解釋器與環(huán)境變量的設(shè)置方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-10-10基于Python OpenCV實(shí)現(xiàn)圖像的覆蓋
本文將基于Python、OpenCV和Numpy實(shí)現(xiàn)圖像的覆蓋,即小圖像覆蓋在大圖像上。文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2022-02-02