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']
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.