最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解Python中 sys.argv[]的用法簡(jiǎn)明解釋

 更新時(shí)間:2017年12月20日 10:19:51   作者:覆手為云p  
本篇文章主要介紹了詳解Python中 sys.argv[]的用法簡(jiǎn)明解釋,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

因?yàn)槭强磿詫W(xué)的python,開始后不久就遇到了這個(gè)引入的模塊函數(shù),且一直在IDLE上編輯了后運(yùn)行,試圖從結(jié)果發(fā)現(xiàn)它的用途,然而結(jié)果一直都是沒結(jié)果,也在網(wǎng)上查了許多,但發(fā)現(xiàn)這個(gè)問題的比較詳細(xì)的解釋只有一個(gè)版本,大部分都是轉(zhuǎn)裁和復(fù)制的。給的都是簡(jiǎn)明python教程上那個(gè)一長串代碼的例子,說看了就明白了,可我看得暈頭轉(zhuǎn)向的還是沒真正明白,只知道“sys.argv[0]表示代碼本身文件路徑”這點(diǎn),其實(shí)還是不明其意。后來經(jīng)過大量努力,多方求教才真正明悟了,謹(jǐn)以記錄和分享,希望能從另一個(gè)角度給同在求索過程中的同學(xué)一點(diǎn)啟發(fā)。

sys.argv[]說白了就是一個(gè)從程序外部獲取參數(shù)的橋梁,這個(gè)“外部”很關(guān)鍵,所以那些試圖從代碼來說明它作用的解釋一直沒看明白。因?yàn)槲覀儚耐獠咳〉玫膮?shù)可以是多個(gè),所以獲得的是一個(gè)列表(list),也就是說sys.argv其實(shí)可以看作是一個(gè)列表,所以才能用[]提取其中的元素。其第一個(gè)元素是程序本身,隨后才依次是外部給予的參數(shù)。

下面我們通過一個(gè)極簡(jiǎn)單的test.py程序的運(yùn)行結(jié)果來說明它的用法。

 #test.py
 import sys
 a=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,看到這里你是不是開始明白了呢。

那我們?cè)侔汛a修改一下:

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ù)。

這個(gè)例子是簡(jiǎn)明python教程上的,明白它之后你就明白sys.argv[]了。

import sys 
def readfile(filename): #從文件中讀出文件內(nèi)容 
  '''''Print a file to the standard output.''' 
  f = file(filename) 
  while True: 
    line = f.readline() 
    if len(line) == 0: 
      break 
    print line, # notice comma 分別輸出每行內(nèi)容 
  f.close() 
# Script starts from here 
if len(sys.argv) < 2: 
  print 'No action specified.' 
  sys.exit() 
if sys.argv[1].startswith('--'): 
  option = sys.argv[1][2:] 
  # fetch sys.argv[1] but without the first two characters 
  if option == 'version': #當(dāng)命令行參數(shù)為-- version,顯示版本號(hào) 
    print 'Version 1.2' 
  elif option == 'help': #當(dāng)命令行參數(shù)為--help時(shí),顯示相關(guān)幫助內(nèi)容 
    print '''''/ 
This program prints files to the standard output. 
Any number of files can be specified. 
Options include: 
 --version : Prints the version number 
 --help  : Display this help''' 
  else: 
    print 'Unknown option.' 
  sys.exit() 
else: 
  for filename in sys.argv[1:]: #當(dāng)參數(shù)為文件名時(shí),傳入readfile,讀出其內(nèi)容 
    readfile(filename) 

保存程序?yàn)閟ample.py.我們驗(yàn)證一下:

1)命令行帶參數(shù)運(yùn)行:sample.py –version  輸出結(jié)果為:version 1.2

2)命令行帶參數(shù)運(yùn)行:sample.py –help  輸出結(jié)果為:This program prints files……

3)在與sample.py同一目錄下,新建a.txt的記事本文件,內(nèi)容為:test argv;命令行帶參數(shù)運(yùn)行:sample.py a.txt,輸出結(jié)果為a.txt文件內(nèi)容:test argv,這里也可以多帶幾個(gè)參數(shù),程序會(huì)先后輸出參數(shù)文件內(nèi)容。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Keras中Conv1D的使用及說明

    Keras中Conv1D的使用及說明

    這篇文章主要介紹了Keras中Conv1D的使用及說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • Python中jieba庫的使用方法

    Python中jieba庫的使用方法

    jieba庫是一款優(yōu)秀的 Python 第三方中文分詞庫,本文主要介紹了Python中jieba庫的使用方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • qpython3 讀取安卓lastpass Cookies

    qpython3 讀取安卓lastpass Cookies

    這篇文章主要介紹了qpython3 讀取安卓lastpass Cookies的相關(guān)資料,需要的朋友可以參考下
    2016-06-06
  • python中的二維列表實(shí)例詳解

    python中的二維列表實(shí)例詳解

    這篇文章主要介紹了python中的二維列表實(shí)例詳解,文中給大家介紹了python 二維列表按列取元素的方法,需要的朋友可以參考下
    2018-06-06
  • Python中的二維數(shù)組實(shí)例(list與numpy.array)

    Python中的二維數(shù)組實(shí)例(list與numpy.array)

    下面小編就為大家分享一篇Python中的二維數(shù)組實(shí)例(list與numpy.array),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • Python Beautiful Soup模塊使用教程詳解

    Python Beautiful Soup模塊使用教程詳解

    Beautiful Soup 簡(jiǎn)稱 BS4(其中 4 表示版本號(hào))是一個(gè) Python 中常用的頁面解析庫,它可以從 HTML 或 XML 文檔中快速地提取指定的數(shù)據(jù),這篇文章主要介紹了Python Beautiful Soup模塊的使用
    2023-02-02
  • python結(jié)束程序運(yùn)行的四種方法

    python結(jié)束程序運(yùn)行的四種方法

    大家好,小編為大家解答python結(jié)束程序的代碼用什么符號(hào)的問題,很多人還不知道python如何結(jié)束程序運(yùn)行,文中通過代碼示例和圖文結(jié)合的方式介紹的非常詳細(xì),現(xiàn)在讓我們一起來看看吧
    2024-07-07
  • windows下python安裝paramiko模塊和pycrypto模塊(簡(jiǎn)單三步)

    windows下python安裝paramiko模塊和pycrypto模塊(簡(jiǎn)單三步)

    這篇文章主要給大家介紹了通過簡(jiǎn)單的三個(gè)步驟在windows下python中安裝paramiko模塊和pycrypto模塊的相關(guān)資料,文中安裝的步驟,簡(jiǎn)單而且又易于大家理解,需要的朋友們下面跟著小編一起來學(xué)習(xí)學(xué)習(xí)吧。
    2017-07-07
  • Python模板的使用詳細(xì)講解

    Python模板的使用詳細(xì)講解

    Django 模板是使用 Django 模板語言標(biāo)記的一個(gè)文本文檔或Python字符串。模板引擎可以識(shí)別和解釋一些構(gòu)造。主要是變量和標(biāo)簽。模板是通過上下文來渲染的。渲染用變量的值替換變量,變量的值在上下文中查找,并執(zhí)行標(biāo)簽。其他的一切都按原樣輸出
    2022-10-10
  • Python中使用dom模塊生成XML文件示例

    Python中使用dom模塊生成XML文件示例

    這篇文章主要介紹了Python中使用dom模塊生成XML文件示例,本文講解了dom模塊的主要方法、詳細(xì)的代碼實(shí)例,需要的朋友可以參考下
    2015-04-04

最新評(píng)論

海伦市| 和政县| 闽清县| 南安市| 富阳市| 临湘市| 宁陕县| 兴业县| 安福县| 泽州县| 新营市| 阿巴嘎旗| 含山县| 额济纳旗| 汽车| 阿勒泰市| 永春县| 宽甸| 巫山县| 凤阳县| 山西省| 信宜市| 长汀县| 赤水市| 米林县| 梧州市| 米脂县| 海宁市| 鄂温| 广河县| 黔西| 墨竹工卡县| 宁安市| 河池市| 嘉义县| 怀远县| 日喀则市| 大城县| 西峡县| 尼玛县| 曲沃县|