最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python-parser.parse_args()解析參數(shù)問(wèn)題

 更新時(shí)間:2023年08月02日 17:00:13   作者:北辰悠杏  
這篇文章主要介紹了python-parser.parse_args()解析參數(shù)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

python-parser.parse_args()解析參數(shù)

import argparse
#設(shè)置參數(shù)對(duì)象,簡(jiǎn)要設(shè)置為該程序要執(zhí)行什么任務(wù)
parser = argparse.ArgumentParser("mission_name")
#調(diào)用 add_argument() 方法添加參數(shù)
parser.add_argument('--ckpt', type=str, default="./weigths/jaad/best.pth", help="Path to model weigths")
#使用 parse_args() 解析添加的參數(shù)
args = parser.parse_args()

使用argparse的第一步

是創(chuàng)建一個(gè) ArgumentParser 對(duì)象:

對(duì) ArgumentParser 構(gòu)造方法的調(diào)用都會(huì)使用 description= 關(guān)鍵字參數(shù)(可以忽略description= 只傳遞關(guān)鍵字參數(shù).

調(diào)用add_argument()方法添加參數(shù)

其中,包含的參數(shù)類型有:

  • name or flags - 選項(xiàng)字符串的名字或者列表,例如 foo 或者 -f, --foo.
  • action - 命令行遇到參數(shù)時(shí)的動(dòng)作,默認(rèn)值是 store.
  • store_const-表示賦值為const;
  • append-將遇到的值存儲(chǔ)成列表,也就是如果參數(shù)重復(fù)則會(huì)保存多個(gè)值;
  • append_const-將參數(shù)規(guī)范中定義的一個(gè)值保存到一個(gè)列表;
  • count-存儲(chǔ)遇到的次數(shù).

此外,也可以繼承 argparse.Action 自定義參數(shù)解析;

  • nargs - 應(yīng)該讀取的命令行參數(shù)個(gè)數(shù),可以是具體的數(shù)字,或者是?號(hào),當(dāng)不指定值時(shí)對(duì)于 Positional argument 使用 default,對(duì)于 Optional argument 使用 const; 或者是 * 號(hào),表示 0 或多個(gè)參數(shù);或者是 + 號(hào)表示 1 或多個(gè)參數(shù).
  • const - action 和 nargs 所需要的常量值.
  • default - 不指定參數(shù)時(shí)的默認(rèn)值.
  • type - 命令行參數(shù)應(yīng)該被轉(zhuǎn)換成的類型.
  • choices - 參數(shù)可允許的值的一個(gè)容器.
  • required - 可選參數(shù)是否可以省略 (僅針對(duì)可選參數(shù)).
  • help - 參數(shù)的幫助信息,當(dāng)指定為 argparse.SUPPRESS 時(shí)表示不顯示該參數(shù)的幫助信息.
  • metavar - 在 usage 說(shuō)明中的參數(shù)名稱,對(duì)于必選參數(shù)默認(rèn)就是參數(shù)名稱,對(duì)于可選參數(shù)默認(rèn)是全大寫的參數(shù)名稱.
  • dest - 解析后的參數(shù)名稱,默認(rèn)情況下,對(duì)于可選參數(shù)選取最長(zhǎng)的名稱,中劃線轉(zhuǎn)換為下劃線.

使用 parse_args() 解析添加的參數(shù)

ArgumentParser 通過(guò) parse_args() 方法解析參數(shù).它將檢查命令行,把每個(gè)參數(shù)轉(zhuǎn)換為適當(dāng)?shù)念愋腿缓笳{(diào)用相應(yīng)的操作

解決SystemExit: 2,args = parser.parse_args()問(wèn)題

報(bào)錯(cuò)

 File "/home/barry/PycharmProjects/EEPC/detect.py", line 283, in parse_opt
    opt = parser.parse_args()
  File "/home/barry/anaconda3/envs/EEPC/lib/python3.9/argparse.py", line 1823, in parse_args
    self.error(msg % ' '.join(argv))
  File "/home/barry/anaconda3/envs/EEPC/lib/python3.9/argparse.py", line 2577, in error
    self.exit(2, _('%(prog)s: error: %(message)s\n') % args)
  File "/home/barry/anaconda3/envs/EEPC/lib/python3.9/argparse.py", line 2564, in exit
    _sys.exit(status)
SystemExit: 2

原因

報(bào)錯(cuò)原因:

argparse 是一個(gè)旨在解析從命令行傳遞的參數(shù)的模塊,您可以使用 argparse 來(lái)編譯 參數(shù)內(nèi)容。

如果 argparse 認(rèn)為參數(shù)無(wú)效,則退出,這通常在 python 中通過(guò)調(diào)用 sys.exit() 來(lái)完成,這會(huì)引發(fā) SystemExit 錯(cuò)誤,這就是您所看到的。

所以問(wèn)題是你試圖從交互式解釋器(看起來(lái)像 ipython)中使用 argparse,此時(shí)程序已經(jīng)啟動(dòng),所以應(yīng)該已經(jīng)解析了 args。 

解決方法一

args = parser.parse_args()
改成
args = parser.parse_args(args=[])

原因分析:

1.args = parser.parse_args()
2.parse_args(args=["-n3","-b2"])#表示給n參數(shù)賦值為3,b參數(shù)賦值為2。其他參數(shù)默認(rèn)。
parse_args(args=[])#表示所有參數(shù)使用默認(rèn)。

而我們的報(bào)錯(cuò)情況是形式1,一旦執(zhí)行parse_args()語(yǔ)句,python系統(tǒng)就會(huì)執(zhí)行讀取參數(shù)的操作(我們看不到),此時(shí)jupyter notebook系統(tǒng)默認(rèn)會(huì)給一個(gè)奇怪的參數(shù):

因此:

將parse_args()由形式1換成形式2。

最后一行換成:

import argparse
parser = argparse.ArgumentParser(description="Deep Gaussian Processes on MNIST")
parser.add_argument("-n", "--num-epochs", default=5, type=int)
parser.add_argument("-t", "--num-iters", default=60, type=int)
parser.add_argument("-b", "--batch-size", default=1000, type=int)
parser.add_argument("-lr", "--learning-rate", default=0.01, type=float)
args = parser.parse_args(args=[])

解決方案二

刪除參數(shù)required=True,如果還不行的話按照再按照方法一方法添加

parser.add_argument("--model_path", type=str, required=True, default='/mnt/data_1/', help="The path to model parameters to be loaded.")
parser.add_argument("--model_path", type=str, default='/mnt/data_1/', help="The path to model parameters to be loaded.")
args = parser.parse_args(args=[])

解決方案三

開頭添加:

import sys
sys.argv=['']
del sys

解決方法四

添加一個(gè)接受上面那個(gè)參數(shù)的語(yǔ)句。

parser.add_argument('-f', type=str, default="讀取額外的參數(shù)")
import argparse
parser = argparse.ArgumentParser(description="Deep Gaussian Processes on MNIST")
parser.add_argument("-n", "--num-epochs", default=5, type=int)
parser.add_argument("-t", "--num-iters", default=60, type=int)
parser.add_argument("-b", "--batch-size", default=1000, type=int)
parser.add_argument("-lr", "--learning-rate", default=0.01, type=float)
parser.add_argument("-f","--file",default="file")#接收這個(gè)-f參數(shù)
args = parser.parse_args()
print(args.file)

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • python使用matplotlib繪制圖片時(shí)x軸的刻度處理

    python使用matplotlib繪制圖片時(shí)x軸的刻度處理

    在使用matplotlib繪制圖片時(shí),x軸的刻度可能比較密集,特別是以日期作為x軸時(shí),則最后會(huì)顯示不出來(lái)。這篇文章主要介紹了python使用matplotlib繪制圖片時(shí)x軸的刻度處理,需要的朋友可以參考下
    2021-08-08
  • 分析如何在Python中解析和修改XML

    分析如何在Python中解析和修改XML

    我們經(jīng)常需要解析用不同語(yǔ)言編寫的數(shù)據(jù)。Python提供了許多庫(kù)來(lái)解析或拆分用其他語(yǔ)言編寫的數(shù)據(jù)。在此Python XML解析器教程中,您將學(xué)習(xí)如何使用Python解析XML
    2021-06-06
  • Python ollama的搭建與使用流程分析

    Python ollama的搭建與使用流程分析

    這篇文章主要介紹了Python ollama的搭建與使用流程分析,詳細(xì)介紹了ollama的安裝方式,本文結(jié)合實(shí)例給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2024-04-04
  • Python WXPY實(shí)現(xiàn)微信監(jiān)控報(bào)警功能的代碼

    Python WXPY實(shí)現(xiàn)微信監(jiān)控報(bào)警功能的代碼

    本篇文章主要介紹了Python WXPY實(shí)現(xiàn)微信監(jiān)控報(bào)警功能的代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-10-10
  • Python?設(shè)計(jì)模式創(chuàng)建型單例模式

    Python?設(shè)計(jì)模式創(chuàng)建型單例模式

    這篇文章主要介紹了Python?設(shè)計(jì)模式創(chuàng)建型單例模式,即Singleton,單例是一種設(shè)計(jì)模式,應(yīng)用該模式的類只會(huì)生成一個(gè)實(shí)例,下文詳細(xì)介紹需要的小伙伴可以參考一下
    2022-02-02
  • 一文帶你掌握Matplotlib風(fēng)格與樣式

    一文帶你掌握Matplotlib風(fēng)格與樣式

    學(xué)過(guò)Python的小伙伴都會(huì)知道,Matplotlib是Python生態(tài)最好用的可視化工具庫(kù),下面這篇文章主要給大家介紹了關(guān)于Matplotlib風(fēng)格與樣式的相關(guān)資料,需要的朋友可以參考下
    2023-09-09
  • Django-imagekit的使用詳解

    Django-imagekit的使用詳解

    ImageKit是一個(gè)用于處理圖像的Django應(yīng)用程序。這篇文章主要介紹了Django-imagekit的使用,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-07-07
  • 詳解Python相關(guān)文件常見的后綴名

    詳解Python相關(guān)文件常見的后綴名

    常見的 Python 文件后綴有:py、pyc 、pyo、 pyi、pyw、 pyd、 pyx 等。本文給大家介紹Python相關(guān)文件常見的后綴名,感興趣的朋友跟隨小編一起看看吧
    2021-05-05
  • Python使用Pygame繪制時(shí)鐘

    Python使用Pygame繪制時(shí)鐘

    這篇文章主要為大家詳細(xì)介紹了Python使用Pygame繪制時(shí)鐘,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • 解決Jupyter Notebook “signal only works in main thread“問(wèn)題

    解決Jupyter Notebook “signal only works&nb

    這篇文章主要介紹了解決Jupyter Notebook “signal only works in main thread“問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-01-01

最新評(píng)論

綦江县| 营山县| 南充市| 察雅县| 朝阳区| 定州市| 廊坊市| 浦江县| 太和县| 永胜县| 青龙| 壶关县| 乌兰察布市| 阳信县| 平武县| 石首市| 大渡口区| 阳朔县| 拉萨市| 洛隆县| 原阳县| 烟台市| 历史| 梁平县| 博野县| 林芝县| 铜山县| 富源县| 诸暨市| 陇川县| 灯塔市| 苍梧县| 嘉鱼县| 高安市| 兴海县| 抚远县| 博爱县| 芒康县| 丰原市| 汤阴县| 金平|