Python中處理命令列參數
來源:互聯網
上載者:User
用getopt.getopt()
來分析命令列參
數。
getopt是用來分析命令列參數的模組。
模組中的函數:
getopt(args, options[, long_options]) args一般為sys.argv[1:]。options為選項字母(以"-"開始)組成的字串,如果某個選項字母帶有參數,那麼這個字母有要加":"號。long_options為選擇性參數,它是一個字串的List,用來表示長參數(以"--"開始),如果某個長參數帶有參數,那麼這
個字母后面要加"="。函數有兩個返回:
第一個是(option,
value)的list。option為帶"-"的選項字母,或者是帶"--"的長參數(無需嚴格匹配,例如--hl可匹配--help)。
如
果option帶有參數,那麼會在value中給出,否則value為空白。
第二個是函數未匹配到的參數。Python文檔中的例子:
import getopt, sys
def
main():
try:
opts, args = getopt.getopt(sys.argv[1:],
"ho:v", ["help", "output="])
except getopt.GetoptError:
# print help information and exit:
usage()
sys.exit(2)
output = None
verbose = False
for o, a
in opts:
if o == "-v":
verbose = True
if o in ("-h", "--help"):
usage()
sys.exit()
if o in ("-o", "--output"):
output =
a
# ...
if __name__ == "__main__":
main()
假如如此調用程式
時:python 程式名.py -h -o abc --out def ghi
那麼getopt.getopt()函數返回的結果大致是這樣
的。
(option, value)list中是:
[('-h', ''), ('-o', 'abc'), ('--output',
'def')]
args中是:
['ghi']