python argv参数
sys.argv變量是一個字符串的列表。特別地,sys.argv包含了命令行參數(shù)列表,即使用命令行傳遞給你的程序的參數(shù)。
這里,當我們執(zhí)行python using_sys.py we are arguments的時候,我們使用python命令運行using_sys.py模塊,后面跟著的內容被作為參數(shù)傳遞給程序。Python為我們把它存儲在sys.argv變量中。記住,腳本的名稱總是sys.argv列表的第一個參數(shù)。所以,在這里,’using_sys.py’是sys.argv[0]、’we’是sys.argv[1]、’are’是sys.argv[2]以及’arguments’是sys.argv[3]。注意,Python從0開始計數(shù),而非從1開始。
sys.argv[]是用來獲取命令行參數(shù)的,sys.argv[0]表示代碼本身文件路徑;比如在CMD命令行輸入 “python test.py -help”,那么sys.argv[0]就代表“test.py”。sys.startswith() 是用來判斷一個對象是以什么開頭的,比如在python命令行輸入“’abc’.startswith(‘a(chǎn)b’)”就會返回True
以下實例參考:
#!/usr/local/bin/env python import sys def readfile(filename):'''Print a file to the standard output.'''f = file(filename)while True:line = f.readline()if len(line) == 0:breakprint line,f.close() print "sys.argv[0]---------",sys.argv[0] print "sys.argv[1]---------",sys.argv[1] print "sys.argv[2]---------",sys.argv[2] # 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 charactersif option == 'version':print 'Version 1.2'elif option == 'help':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:]:readfile(filename) 執(zhí)行結果:# python test.py --version help sys.argv[0]--------- test.py sys.argv[1]--------- --version sys.argv[2]--------- help Version 1.2注意:sys.argv[1][2:]表示從第二個參數(shù),從第三個字符開始截取到最后結尾,本例結果為:version
總結
以上是生活随笔為你收集整理的python argv参数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 笨方法学python之import sy
- 下一篇: raw_input 与 input的区别