【python】sys.argv[] 的用法

楊奇龍發表於2011-07-27
sys.argv[]是用來獲取命令列引數的,sys.argv[0]表示程式碼本身檔案路徑,因此要從第二個即sys.argv[1]開始取引數。
注意:引數是以空格分開的
建立一個名為sysargv.py的檔案,內容如下:
import sys

print('the first  argv: ',sys.argv[0],'\n')#顯示第一個引數
print('the second argv: ',sys.argv[1],'\n')#顯示第二個引數
print('the third  argv: ',sys.argv[2],'\n')#顯示第三個引數,以此類推

執行的結果如下:。
E:\lib>learnsysargv.py yang.txt yangqilong

the first  argv:  E:\lib\learnsysargv.py  --pyython檔案的路徑

the second argv:  yang.txt   --引數1

the third  argv:  yangqilong --引數2

官方教材中的一個例子,我修改了一下
import sys
print('the first  argv: ',sys.argv[0])
print('the second argv: ',sys.argv[1])
#print('the third  argv: ',sys.argv[2])
if len(sys.argv) < 2:
    print ('No action specified.')
    sys.exit()
解釋一下下面IF語句的語法:判斷引數1是否是以‘--’開頭
if sys.argv[1].startswith('--'):
    ption = sys.argv[1][2:]//把引數1從第三個字元開始的字串賦值給  option(去掉‘--’字元),直到引數1後面的空格。
    # fetch sys.argv[1] but without the first two characters
    if ption == 'v':
        print ('Version 1.2')
    elif option == 'h':
       print ('This program prints files to the standard output.\nAny number of files can be specified.\n\
Options include:\n\
--v : Prints the version number\n\
--h : Display this help')
程式輸出結果:
E:\lib>sysargv.py  --h
the first  argv:  E:\lib\sysargv.py
the second argv:  --h
This program prints files to the standard output.
Any number of files can be specified.
Options include:
--v : Prints the version number
--h : Display this help

E:\lib>sysargv.py  --v
the first  argv:  E:\lib\sysargv.py
the second argv:  --v
Version 1.2

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22664653/viewspace-703178/,如需轉載,請註明出處,否則將追究法律責任。

相關文章