摘要:模塊用于解析腳本參數(shù)。如果不需要短選項,可以設置為空字符串。函數(shù)返回值由兩個元素組成。元組中的表示包含或前綴的選項,表示該對應的參數(shù),可以為空字符串表示無參數(shù)。屬性和分別表示錯誤信息和相關選項,可能為空字符串。
getopt模塊用于解析腳本參數(shù)。
getopt.getopt(args, shortopts, longopts=[])解析命令行選項及參數(shù)列表。
args:要解析的參數(shù)列表,但不包括當前執(zhí)行的python腳本名稱,一般等同于sys.argv[1:]。
shortopts:要識別的短選項字符串,如果后接:表示需要給定參數(shù)。如ab:c:,表示識別-a, -b和-c的短選項,其中-b和-c需要后接參數(shù)。如果不需要短選項,可以設置為空字符串。
longopts:要識別的長選項列表(不包括--前綴),長選項如果后接=表示需要給定參數(shù),不支持可選參數(shù)。如["help", "user=", "password="],表示識別--help, --user=root, --password=123456的長選項。
函數(shù)返回值由兩個元素組成。第一個是(option, value)元組的列表,第二個是args剝離短選項及其參數(shù)和長選項及其參數(shù)之后剩余的參數(shù)列表。(option, value)元組中的option表示包含-或--前綴的選項,value表示該option對應的參數(shù),可以為空字符串表示無參數(shù)。
import getopt # 模擬向MySQL的test庫導入tb_country.sql的命令行 args = "-uroot -p --host=127.0.0.1 --port=3306 --verbose -Dtest < tb_country.sql".split() options, arg = getopt.getopt(args, "u:pD:", ["host=", "port=", "verbose"]) print(arg) # ["<", "tb_country.sql"] for option in options: print(option) # ("-u", "root") # ("-p", "") # ("--host", "127.0.0.1") # ("--port", "3306") # ("--verbose", "") # ("-D", "test")
一旦遇到非選項參數(shù),將停止選項解析,從該非選項參數(shù)開始的所有參數(shù)全部視為返回值中的第二個元素
import getopt args = "-a root 123456 -b --opt1 --opt2".split() options, arg = getopt.getopt(args, "ab", ["opt1", "opt2"]) print(arg) # ["root", "123456", "-b", "--opt1", "--opt2"] print(options) # [("-a", "")]getopt.gnu_getopt(args, shortopts, longopts=[])
和getopt()類似,但默認使用GNU風格的選項解析模式,這意味著選項參數(shù)和非選項參數(shù)可以混合,而getopt()會在遇到第一個非選項參數(shù)時停止解析。
如果shortopts的首字符為+,或者設置了環(huán)境變量POSIXLY_CORRECT,同樣會在遇到第一個非選項參數(shù)時停止解析。
exception getopt.GetoptErrorgetopt.error異常的別名。以下幾種情況將拋出此異常:a)參數(shù)列表中存在不能識別的選項b)某個需要傳值的選項沒有給定值c)傳遞了值給不需要參數(shù)的長選項。
屬性msg和opt分別表示錯誤信息和相關選項,opt可能為空字符串。
文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://systransis.cn/yun/43722.html
此篇文章主要是闡述了搭建Pythonargv的4種比較常見方式方法,文章內容緊扣主題進行詳盡的基本介紹,具有很強的實用價值,務必的朋友可以學習一下。 序言 小伙伴們好,在平時的撰寫Python腳本制作的過程當中,我們通常需要根據(jù)argv傳到某些自變量主要參數(shù),使新項目應用更加靈便便捷?! 》謩e是: 內嵌sys.argv控制模塊 內嵌argparse控制模塊 內嵌getopt模塊 第...
在平時的撰寫Python腳本制作的過程當中,我們通常需要根據(jù)查詢參數(shù)傳到某些自變量主要參數(shù),使新項目應用更加靈便便捷。本文列舉了搭建Python查詢參數(shù)的4種普遍方法,所需要的可以了解一下 小伙伴們好,在平時的撰寫Python腳本制作的過程當中,我們通常需要根據(jù)查詢參數(shù)傳到某些自變量主要參數(shù),使新項目應用更加靈便便捷 本文我們將列舉出搭建Python查詢參數(shù)的4種普遍方法 分別是: 內...
在平時的撰寫Python腳本制作的過程當中,我們通常需要根據(jù)查詢參數(shù)傳到某些自變量基本參數(shù),使新項目應用更加靈便便捷。本文列舉了搭建Python查詢參數(shù)的4種普遍方法,所需要的可以了解一下小伙伴們好,在平時的撰寫Python腳本制作的過程當中,我們通常需要根據(jù)查詢參數(shù)傳到某些自變量基本參數(shù),使新項目應用更加靈便便捷 本文我們將列舉出搭建Python查詢參數(shù)的4種普遍方法 分別是: 內嵌s...
摘要:夾在中間的被鏈式調用,他們拿到上個的返回值,為下一個提供輸入。最終把返回值和傳給。前面我們說過,也是一個模塊,它導出一個函數(shù),該函數(shù)的參數(shù)是的源模塊,處理后把返回值交給下一個。 文:小 boy(滬江網(wǎng)校Web前端工程師)本文原創(chuàng),轉載請注明作者及出處 showImg(https://segmentfault.com/img/remote/1460000012990131?w=1083...
摘要:在中,格式是,所以需要把格式統(tǒng)一為注冊表的標準。注冊表的二進制值及關鍵信息如下開關長度地址是否跳過本地代理地址通過在中導入文件的方式執(zhí)行并立即生效。本代碼可以根據(jù)需要自動設置代理。 聲明下:不同于網(wǎng)絡上千百篇方法,下文是經(jīng)過各種嚴格測試都通過的,同時也是一個實驗的過程,排除了各種不靠譜的方法。有需要的可以評論來討論,想要源碼和相關參考文獻或筆記的,也可以找我。 思路及啟發(fā) 先說一下我這...
閱讀 1967·2021-11-22 15:29
閱讀 3266·2021-10-14 09:43
閱讀 1231·2021-10-08 10:22
閱讀 3354·2021-08-30 09:46
閱讀 1441·2019-08-30 15:55
閱讀 1936·2019-08-30 15:44
閱讀 859·2019-08-30 14:19
閱讀 1454·2019-08-30 13:13