sys.argv[]是用來獲取命令行參數(shù)的,sys.argv[0]表示代碼本身文件路徑,所以參數(shù)從1開始,以下兩個(gè)例子說明:
1、使用sys.argv[]的一簡單實(shí)例:
以下是sample1.py文件:
import sys,os print sys.argv os.system(sys.argv[1])
這個(gè)例子os.system接收命令行參數(shù),運(yùn)行參數(shù)指令,cmd命令行帶參數(shù)運(yùn)行python sample1.py notepad,將打開記事本程序。
2、這個(gè)例子是簡明python教程上的,明白它之后你就明白sys.argv[]了。
以下是sample.py文件:
#!/usr/bin/env python #_*_ coding:utf-8 _*_ import sys def readfile(filename): #定義readfile函數(shù),從文件中讀出文件內(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 print sys.argv 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時(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) 在與sample.py同一目錄下,新建3個(gè)記事本文件test.txt,test1.txt,test2.txt,內(nèi)容如下圖:
驗(yàn)證sample.py,如下:
C:/Users/91135/Desktop>python sample.py ['sample.py']No action specified.C:/Users/91135/Desktop>python sample.py --help['sample.py', '--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 helpC:/Users/91135/Desktop>python sample.py --version ['sample.py', '--version']Version 1.2C:/Users/91135/Desktop>python sample.py --ok ['sample.py', '--ok']Unknown option.C:/Users/91135/Desktop>python sample.py test.txt ['sample.py', 'test.txt']hello python!C:/Users/91135/Desktop>python sample.py test.txt test1.txt test2.txt ['sample.py', 'test.txt', 'test1.txt', 'test2.txt'] hello python! hello world!hello wahaha!goodbye!C:/Users/91135/Desktop>
新聞熱點(diǎn)
疑難解答
圖片精選