sys.argv[]是用來獲取命令行參數的,是一個由該腳本自身路徑和其它輸入的參數組成的List。sys.argv[0]表示代碼本身文件路徑。
這里,當我們執行python using_sys.py we are arguments的時候,我們使用python命令運行using_sys.py模塊,后面跟着的內容被作為參數傳遞給程序。Python為我們把它存儲在sys.argv變量中。記住,腳本的名稱總是sys.argv列表的第一個參數。所以,在這里,'using_sys.py'是sys.argv[0]、'we'是sys.argv[1]、'are'是sys.argv[2]以及'arguments'是sys.argv[3]。注意,Python從0開始計數,而非從1開始。
# -*- coding:utf-8 -*- from sys import argv script,first,second,third=argv print "The script is called:",script print "Your first variable is:", first print "Your second variable is:",second print "Your third variable is:",third > python ex13.py first,2nd,3th The script is called: ex13.py Your first variable is: first Your second variable is: 2nd Your third variable is: 3th
# -*- coding:utf-8 -*- import sys def readfile(filename): f=file(filename) while True: line=f.readline() if len(line)==0: break print line f.close() if len(sys.argv)<2: print "No action specofied." sys.exit() for i in range(len(sys.argv)): print "sys.argv[%d]-----%s" %(i,sys.argv[i]) if sys.argv[1].startswith('--'): option=sys.argv[1][2:] #fetch sys.argv[1] without the first two characters if option == "version": print "Version 1.2" if 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 ex13_2.py filename : will display content in file """ if option not in ["version","help"]: print "Unknow option." sys.exit() else: for filename in sys.argv[1:]: readfile(filename) > python ex13_3.py No action specofied. > python ex13_3.py --version sys.argv[0]-----ex13_3.py sys.argv[1]-------version Version 1.2 > python ex13_3.py --help sys.argv[0]-----ex13_3.py sys.argv[1]-------help 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 ex13_2.py filename : will display content in file > python ex13_3.py 1.txt 2.txt sys.argv[0]-----ex13_3.py sys.argv[1]-----1.txt sys.argv[2]-----2.txt test for sys.argv test2 > python ex13_3.py 1.txt sys.argv[0]-----ex13_3.py sys.argv[1]-----1.txt test for sys.argv > python ex13_3.py 1.txt 2.txt sys.argv[0]-----ex13_3.py sys.argv[1]-----1.txt sys.argv[2]-----2.txt test for sys.argv test2 > python ex13_3.py 1.txt 2.txt 3.txt sys.argv[0]-----ex13_3.py sys.argv[1]-----1.txt sys.argv[2]-----2.txt sys.argv[3]-----3.txt test for sys.argv test2 test3
