pythonsys用法_Python中 sys.argv[]的用法简明解释
Python中 sys.argv[]的用法簡(jiǎn)明解釋
因?yàn)槭强磿詫W(xué)的python,開(kāi)始后不久就遇到了這個(gè)引入的模塊函數(shù),且一直在IDLE上編輯了后運(yùn)行,試圖從結(jié)果發(fā)現(xiàn)它的用途,然而結(jié)果一直都是沒(méi)結(jié)果,也在網(wǎng)上查了許多,但發(fā)現(xiàn)這個(gè)問(wèn)題的比較詳細(xì)的解釋只有一個(gè)版本,大部分都是轉(zhuǎn)裁和復(fù)制的。給的都是簡(jiǎn)明python教程上那個(gè)一長(zhǎng)串代碼的例子,說(shuō)看了就明白了,可我看得暈頭轉(zhuǎn)向的還是沒(méi)真正明白,只知道“sys.argv[0]表示代碼本身文件路徑”這點(diǎn),其實(shí)還是不明其意。后來(lái)經(jīng)過(guò)大量努力,多方求教才真正明悟了,謹(jǐn)以記錄和分享,希望能從另一個(gè)角度給同在求索過(guò)程中的同學(xué)一點(diǎn)啟發(fā)。
sys.argv[]說(shuō)白了就是一個(gè)從程序外部獲取參數(shù)的橋梁,這個(gè)“外部”很關(guān)鍵,所以那些試圖從代碼來(lái)說(shuō)明它作用的解釋一直沒(méi)看明白。因?yàn)槲覀儚耐獠咳〉玫膮?shù)可以是多個(gè),所以獲得的是一個(gè)列表(list),也就是說(shuō)sys.argv其實(shí)可以看作是一個(gè)列表,所以才能用[]提取其中的元素。其第一個(gè)元素是程序本身,隨后才依次是外部給予的參數(shù)。
下面我們通過(guò)一個(gè)極簡(jiǎn)單的test.py程序的運(yùn)行結(jié)果來(lái)說(shuō)明它的用法。
1 #test.py
2
3 import sys
4 a=sys.argv[0]
5 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]
保存后,再?gòu)目刂婆_(tái)窗口運(yùn)行,這次我們加上一個(gè)參數(shù),輸入:test.py what
得到的結(jié)果就是我們輸入的參數(shù)what,看到這里你是不是開(kāi)始明白了呢。
那我們?cè)侔汛a修改一下:
a=sys.argv[2:]
保存后,再?gòu)目刂婆_(tái)窗臺(tái)運(yùn)行程序,這次多加幾個(gè)參數(shù),以空格隔開(kāi):
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)該將程序保存了,從外部來(lái)運(yùn)行程序并給出參數(shù)。
總結(jié)
以上是生活随笔為你收集整理的pythonsys用法_Python中 sys.argv[]的用法简明解释的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: MySQL删除s表命令_SQLServe
- 下一篇: docker mysql 不稳定_doc