亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

詳解Python中 sys.argv[]的用法簡明解釋

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

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

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

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

 #test.py
 import sys
 a=sys.argv[0]
 print(a)

將test.py保存在c盤的根目錄下。

在程序中找到 ‘運行'->點擊->輸入"cmd"->回車鍵   進(jìn)入控制臺命令窗口(如下圖),先輸入cd c:\   (作用是將命令路徑改到c盤根目錄),然后輸入test.py運行我們剛剛寫的程序:

 

得到的結(jié)果是C:\test.py,這就是0指代碼(即此.py程序)本身的意思。

然后我們將代碼中0改為1 :

a=sys.argv[1]

保存后,再從控制臺窗口運行,這次我們加上一個參數(shù),輸入:test.py what

 

得到的結(jié)果就是我們輸入的參數(shù)what,看到這里你是不是開始明白了呢。

那我們再把代碼修改一下:

a=sys.argv[2:]

保存后,再從控制臺窗臺運行程序,這次多加幾個參數(shù),以空格隔開:

test.py a b c d e f

 

得到的結(jié)果為[‘b', 'c', 'd', 'e', 'f']

應(yīng)該大徹大悟了吧。Sys.argv其實就是一個元組,里邊的項為用戶輸入的參數(shù),關(guān)鍵就是要明白這參數(shù)是從程序外部輸入的,而非代碼本身的什么地方,要想看到它的效果就應(yīng)該將程序保存了,從外部來運行程序并給出參數(shù)。

這個例子是簡明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,顯示版本號 
    print 'Version 1.2' 
  elif option == 'help': #當(dāng)命令行參數(shù)為--help時,顯示相關(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ù)為文件名時,傳入readfile,讀出其內(nèi)容 
    readfile(filename) 

保存程序為sample.py.我們驗證一下:

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

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

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

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

相關(guān)文章

  • 用Python創(chuàng)建簡易網(wǎng)站圖文教程

    用Python創(chuàng)建簡易網(wǎng)站圖文教程

    今天給大家?guī)淼氖顷P(guān)于Python的相關(guān)知識,文章圍繞著用Python創(chuàng)建簡易網(wǎng)站展開,文中有非常詳細(xì)的介紹及圖文示例,需要的朋友可以參考下
    2021-06-06
  • 基于Python編寫簡易版的天天跑酷游戲的示例代碼

    基于Python編寫簡易版的天天跑酷游戲的示例代碼

    這篇文章主要介紹了如何利用Python編寫一個簡易版的天天跑酷游戲,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)Python有一定幫助,需要的可以參考一下
    2022-03-03
  • python實現(xiàn)圖片變亮或者變暗的方法

    python實現(xiàn)圖片變亮或者變暗的方法

    這篇文章主要介紹了python實現(xiàn)圖片變亮或者變暗的方法,涉及Python中Image模塊操作圖片的相關(guān)技巧,需要的朋友可以參考下
    2015-06-06
  • Pytorch之保存讀取模型實例

    Pytorch之保存讀取模型實例

    今天小編就為大家分享一篇Pytorch之保存讀取模型實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • pygame學(xué)習(xí)筆記(2):畫點的三種方法和動畫實例

    pygame學(xué)習(xí)筆記(2):畫點的三種方法和動畫實例

    這篇文章主要介紹了pygame學(xué)習(xí)筆記(2):畫點的三種方法和動畫實例,本文講解了單個像素(畫點)、連接多個點形成線、引用圖像、動畫完整實例,需要的朋友可以參考下
    2015-04-04
  • Python使用自定義裝飾器的示例詳解

    Python使用自定義裝飾器的示例詳解

    在Python自動化測試中,可以使用自定義的裝飾器來給測試方法傳遞測試數(shù)據(jù)。本文將通過簡單的示例和大家介紹下具體的使用方法,希望對大家有所幫助
    2022-11-11
  • 在Python中使用mechanize模塊模擬瀏覽器功能

    在Python中使用mechanize模塊模擬瀏覽器功能

    這篇文章主要介紹了在Python中使用mechanize模塊模擬瀏覽器功能,包括使用cookie和設(shè)置代理等功能的實現(xiàn),需要的朋友可以參考下
    2015-05-05
  • 使用pip下載時提示"You?are?using?pip?version?8.1.1,?however?version?22.1?is?available."錯誤解決

    使用pip下載時提示"You?are?using?pip?version?8.1.1,?howev

    最近在使用python的pip下載庫時,出現(xiàn)了報錯,所以下面這篇文章主要給大家介紹了關(guān)于使用pip下載時提示“You?are?using?pip?version?8.1.1,?however?version?22.1?is?available.“錯誤的解決方法,需要的朋友可以參考下
    2022-08-08
  • 解決python繪圖使用subplots出現(xiàn)標(biāo)題重疊的問題

    解決python繪圖使用subplots出現(xiàn)標(biāo)題重疊的問題

    這篇文章主要介紹了python繪圖使用subplots出現(xiàn)標(biāo)題重疊的問題及解決方法,本文通過實例圖文相結(jié)合給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-04-04
  • python 連接sqlite及簡單操作

    python 連接sqlite及簡單操作

    本文通過實例代碼給大家介紹了python 連接sqlite及簡單操作,非常不錯,具有參考借鑒價值,需要的朋友參考下吧
    2017-06-06

最新評論