国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

Python命令行參數定義及需要注意的地方

瀏覽:35日期:2022-07-03 16:01:33

在命令行中運行python代碼是很常見的,下面介紹如何定義命令后面跟的參數。

1 常規用法

Python代碼中主要使用下面幾行代碼來定義并獲取需要在命令行中賦值的參數:

import argparse parser = argparse.ArgumentParser('Description.') # ————1————parser.add_argument(’--test1’, type=str, default='1', help='Test1 help.') # ————2————parser.add_argument(’--test2’, type=float, default=2.1, help='Test2 help.') # ————2————args = parser.parse_args() # ————3————print(args)test1, test2 = args.test1, args.test2 # ————4———— print(type(test1), test1, test1 + ' add test') print(type(test2), test2, test2 + 100)

注釋:

1、獲取外部參數對象實例。可以傳入字符串來描述總體的外部參數。

2、定義外部參數,可以多次調用來定義多個外部參數。函數的第一個參數是外部參數的名稱,建議以兩個減號開頭,中間不要使用數字字母下劃線以外的符號,否則容易出錯。type是你希望外部參數傳入后轉換的類型,比如--test1定義為str,即使命令行傳參不添加引號,函數也將它轉換為字符串(當然不加引號傳字符串就不能用空格了)。而--test2是float,即使命令行傳參帶了引號,只要能轉換為數字,函數都能轉換為float類型。default是外部參數的默認值。如果命令行不對外部參數賦值而使用默認值,函數不會對你定義的默認值進行type上的轉換,所以default最好直接定義為type指定的類型(比如--test1的default定義為'1'而不是1)。help傳入對當前外部參數的描述,命令行中使用--help輸出的就是這個。

3、分析獲取的外部參數。傳出的是一個命名空間,類似于字典,但使用屬性的方式而不是key索引來獲取命名對應的外部參數值。

4、以獲取屬性的方式獲取外部參數。

需要注意的是,外部參數的定義必須寫在獲取外部參數之前。也就是說,parser.add_argument()要寫在parser.parse_args()之前,否則外部參數無法被命令行捕獲。另外,如果代碼中沒有parser.parse_args(),命令行就不能傳參。

用命令行執行以上代碼,命令與輸出如下(以上代碼保存為test.py):

Python命令行參數定義及需要注意的地方

可以看出,故意以數字和字符串的方式分別對字符串和float類型的外部參數賦值,函數都能正確地轉換并正確地參與運算。

使用默認值時輸出如下:

Python命令行參數定義及需要注意的地方

2 注意事項

通過以上的實驗,argparse庫似乎能將外部參數正確轉換為各種類型,只要能轉換。下面來實驗是否能傳入一個numpy數組。代碼如下:

import numpy as npimport argparse parser = argparse.ArgumentParser() parser.add_argument(’--array’, type=np.array, default=np.array([1,2])) args = parser.parse_args() print(args) array = args.arrayprint(type(array))print(array)print(array + 1)

當使用默認值時:

Python命令行參數定義及需要注意的地方

運行正確,但當我們意圖傳入外部參數時:

Python命令行參數定義及需要注意的地方

盡管傳入的[1,2]被轉換為numpy.ndarray類型,它卻并不能參與運算。所以,并不是所有的類型都能在命令行中傳入的。

以上就是Python命令行參數定義及需要注意的地方的詳細內容,更多關于Python命令行參數的資料請關注好吧啦網其它相關文章!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 97国产精品欧美一区二区三区 | 亚洲成aⅴ人片在线影院八 亚洲成av人片在线观看 | 亚洲一区 在线播放 | 久久综合精品国产一区二区三区 | 99精品久久久久久久 | 欧美一区二区三区精品国产 | 欧美精品国产一区二区三区 | 特级一级毛片视频免费观看 | 一级毛片播放 | 成人影院一区二区三区 | 99视频在线播放 | 黄色美女毛片 | 男人的天堂久久香蕉国产 | 欧美国产在线看 | 欧美日韩免费一区二区三区 | 久久综合一区二区三区 | 久久一本色道综合 | 一级做a爰片久久毛片16 | 国产啪在线| 亚洲国产精品线播放 | 99久久精品费精品国产一区二区 | 欧美人成在线观看 | 日本视频一区二区三区 | 日韩一级精品视频在线观看 | 久久怡红院亚欧成人影院 | 亚洲欧美日韩精品永久在线 | 欧美线在线精品观看视频 | 韩国一级做a爰片性色毛片 韩国一区在线 | 国产成人精品s8p视频 | 亚洲精选在线 | 免费看久久 | 久草视频在线首页 | 中文在线视频观看 | 在线一区二区观看 | 成人欧美一区二区三区黑人 | 在线观看亚洲国产 | 毛片a片免费观看 | 亚洲国产精品自产拍在线播放 | 中文国产成人精品久久一 | 一级一级一片在线观看 | 99久久99久久精品免费看子伦 |