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