當從命令行調(diào)用Python 腳本程序,用戶可能需要添加命令行參數(shù),這些參數(shù)傳遞到腳本中。程序員可通過系統(tǒng)變量 sys.argv(“argv”是大多數(shù)習慣性命名,意思是參數(shù)向量)獲取這些參數(shù)可用于。 按照慣例,sys.argv列表中的第一個元素是Python腳本文件名稱,而剩下的元素則是用戶調(diào)用腳本時傳遞的參數(shù)。 # cli.py import sys print(sys.argv) $ python cli.py =>['cli.py'] $ python cli.py fizz =>['cli.py','fizz'] $ python cli.py fizz buzz =>['cli.py','fizz','buzz'] 這是另外一個使用argv的例子。我們首先去掉sys.argv初始元素,因為它里面包含腳本名稱。然后我們合并剩下的參數(shù)到一個字符串,最后打印當前登錄用戶名和這個字符串(這樣就可以模擬聊天程序了)。 import getpass import sys words = sys.argv[1:] sentence = " ".join(words) print("[%s] %s" % (getpass.getuser(), sentence)) 這個算法通過迭代循環(huán)sys.argv的列表來手動解析非未知參數(shù)。方法是歷遍整個列表中的元素。 argv =reversed(sys.argv) targ = argv.pop() while len(argv)>0: if arg in('-f','--foo'): print('seen foo!') elif arg in('-b','--bar'): print('seen bar!') elif arg in('-a','--with-arg'): arg = arg.pop() print('seen value: {}'.format(arg)) arg = argv.pop() |
|
來自: 啟辰ozkb3yjim4 > 《待分類》