網(wǎng)站首頁(yè) 編程語(yǔ)言 正文
argparse庫(kù)是python下的一個(gè)命令行參數(shù)管理庫(kù),支持int、str、float、bool、數(shù)組等5種基本數(shù)據(jù)類型。在解析命令行參數(shù)時(shí)還支持默認(rèn)值。此外,還支持修改命令行參數(shù),在代碼中增加命令行參數(shù)等操作。通過(guò)argparse庫(kù),可以實(shí)現(xiàn)參數(shù)的簡(jiǎn)易管理,控制代碼執(zhí)行中的一些流程或參數(shù)值。
基本用法
1、int支持
argparse的寫法 ,class_nums的默認(rèn)值為7
parser.add_argument("--class_nums", type=int, default=7)
命令行傳參寫法(假設(shè)程序文件名稱為test.py), 傳入了新的值,覆蓋了默認(rèn)值
test.py --class_nums 8
2、str支持
argparse的寫法,load_from沒有設(shè)置默認(rèn)值,如果要設(shè)置的話請(qǐng)?jiān)O(shè)置default
parser.add_argument("--load_from", type=str, help='load trained model to generate predictions of validation set')
命令行傳參寫法(假設(shè)程序文件名稱為test.py), 傳入了新的值"best.pth"賦值給load_from
test.py --load_from "best.pth"
3、float支持
argparse的寫法 ,lr的默認(rèn)值為=0.0003
parser.add_argument("--lr", type=float, default=0.0003)
命令行傳參寫法(假設(shè)程序文件名稱為test.py), 傳入了新的值,覆蓋了默認(rèn)值
test.py --lr 0.001
4、bool支持
argparse的寫法 ,pretrained的默認(rèn)值為None。store_true表示傳入?yún)?shù)則為True
parser.add_argument("--pretrained", action="store_true")
命令行傳參寫法(假設(shè)程序文件名稱為test.py), 此時(shí)pretrained的值為True
test.py --pretrained
5、數(shù)組支持
argparse的寫法 ,input_shape的默認(rèn)值為[256, 256]。nargs表示傳入?yún)?shù)可能存在多個(gè)值,也就是說(shuō)傳入的參數(shù)不一定是2個(gè),3個(gè)也可以
parser.add_argument('--input_shape', nargs='+', type=int, default=[256, 256])
命令行傳參寫法(假設(shè)程序文件名稱為test.py), 此時(shí)input_shape的值為[512, 512]
test.py --input_shape 512 512
完整調(diào)用
以下代碼實(shí)現(xiàn)了取參數(shù)值,修改參數(shù)值,新增參數(shù)值的完整調(diào)用。在非控制臺(tái)環(huán)境下執(zhí)行下面代碼是無(wú)法修改默認(rèn)參數(shù)的,只能是在控制臺(tái)下執(zhí)行才能修改參數(shù)
import argparse
class Options:
def __init__(self):
parser = argparse.ArgumentParser('命名空間')
parser.add_argument("--class_nums", type=int, default=7)
parser.add_argument("--pretrained", action="store_true")
parser.add_argument("--lr", type=float, default=0.0003)
parser.add_argument("--load_from", type=str,
help='load trained model to generate predictions of validation set')
parser.add_argument('--input_shape', nargs='+', type=int, default=[256, 256])
self.parser = parser
def parse(self):
args = self.parser.parse_args()
return args
if __name__ == "__main__":
args = Options().parse()
print("\n原始參數(shù):")
print(args)
print("\n取參數(shù)值:")
print("args.class_nums:",args.class_nums)
print("\n修改參數(shù):")
args.input_shape=[512,512]
print(args)
print("\n新增參數(shù):")
args.new_key=[512,512]
print(args)
博主測(cè)試代碼:python .\test.py --input_shape 128 128
執(zhí)行輸出如下所示:
原始參數(shù):
Namespace(class_nums=7, input_shape=[128, 128], load_from=None, lr=0.0003, pretrained=False)
取參數(shù)值:
args.class_nums: 7
修改參數(shù):
Namespace(class_nums=7, input_shape=[512, 512], load_from=None, lr=0.0003, pretrained=False)
新增參數(shù):
Namespace(class_nums=7, input_shape=[512, 512], load_from=None, lr=0.0003, new_key=[512, 512], pretrained=False)
原文鏈接:https://blog.csdn.net/a486259/article/details/125848708
相關(guān)推薦
- 2021-12-05 Android?NDK開發(fā)(C語(yǔ)言-文件讀寫)_Android
- 2022-02-28 Error: A <Route> is only ever to be used as the ch
- 2022-03-16 Nginx配置SSL和WSS步驟介紹_nginx
- 2022-06-17 Ruby3多線程并行Ractor使用方法詳解_ruby專題
- 2023-04-17 Python中POST調(diào)用Restful接口示例_python
- 2024-03-05 layui彈出層的表單驗(yàn)證(form表單自帶的驗(yàn)證不執(zhí)行)
- 2023-12-26 錯(cuò)誤代碼: 1231Variable ‘sql_notes‘ can‘t be set to the
- 2022-12-28 Django初步使用Celery處理耗時(shí)任務(wù)和定時(shí)任務(wù)問題_python
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過(guò)濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡(jiǎn)單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對(duì)象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支