色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何讓Python程序參數(shù)輸入更像Linux命令

自然語言處理愛好者 ? 來源:自然語言處理愛好者 ? 作者:菊子皮 ? 2020-12-28 14:22 ? 次閱讀

背景

最近一直訓(xùn)練模型,進(jìn)行模型調(diào)參比較,但是隨著模型參數(shù)多起來了,想獲得不同參數(shù)模型結(jié)果也越來越麻煩。看看前輩以及github上開源項(xiàng)目的代碼后,感覺這個(gè)感覺學(xué)到了很多。讓你的python程序輸入?yún)?shù)更像Linux那樣輸入,之前使用sys.argv,看到這個(gè)之后感覺太low了。這個(gè)就是 Python 標(biāo)準(zhǔn)庫的一部分:Argparse[1]。那么下面讓我們看看他是多么方便。

1 入門操作

由于這個(gè)包是Python標(biāo)準(zhǔn)庫中的一部分,所以就不用安裝了,直接使用即可。下面結(jié)合文章argparse基本用法[2]和自己的理解書寫如下程序:

pIYBAF_ped-AEWh1AABVgwZNyw0775.jpg

運(yùn)行方式:linux系統(tǒng)使用比較多的還是命令,這里我也在終端里運(yùn)行程序,如下是使用默認(rèn)參數(shù)運(yùn)行:

01c0a8a6-4693-11eb-8b86-12bb97331649.png

無參數(shù)運(yùn)行

有參運(yùn)行如下:

01ecac30-4693-11eb-8b86-12bb97331649.png

有參運(yùn)行

看起來是不是挺有意思的。在上面的代碼中,使用argparse.ArgumentParser構(gòu)建一個(gè)參數(shù)解析器,其實(shí)也就是創(chuàng)建一個(gè)相關(guān)對(duì)象,description描述了這個(gè)解析器,在命令行中使用-h(--help)命令就可以看到,如下:

022a0364-4693-11eb-8b86-12bb97331649.png

幫助文檔

是不是很清晰。

使用這個(gè)參數(shù)解析器得有一些我們需要的參數(shù),那么就使用parser.add_argument()方法去定義一些。上面的例子就是增加了兩個(gè)參數(shù):name, job。其中'-n'、'--name'都表示一個(gè)參數(shù),而default是運(yùn)行程序時(shí)不輸入對(duì)應(yīng)參數(shù)值所啟用的值。現(xiàn)在相信你對(duì)這個(gè)有一定的了解了。下面我們?cè)偕钊胍幌隆?/p>

2 挖掘argparse更多功能

當(dāng)然,上面的內(nèi)容能夠應(yīng)付日常中一些任務(wù)。了解更多的內(nèi)容,也會(huì)讓我們事半功倍。下面的內(nèi)容參考了argparse簡要用法總結(jié)[3]部分內(nèi)容,特此感謝。主要介紹parser.add_argument()中的其他參數(shù),default就不再介紹了。

2.1 required:表示這個(gè)參數(shù)是否一定需要設(shè)置

如果設(shè)置了required=True,則在實(shí)際運(yùn)行的時(shí)候不設(shè)置該參數(shù)將報(bào)錯(cuò),在上面的程序上添加如下代碼:

pIYBAF_pefKASLszAAANl8Zh6lU452.jpg

當(dāng)不輸入值時(shí),則有:

02ad7dd4-4693-11eb-8b86-12bb97331649.png

必要參數(shù)

2.2 type: 參數(shù)類型

命令參數(shù)是傳給其他功能模型使用,不同的功能模型則需要不同類型的數(shù)據(jù)輸入,可以通過設(shè)置type直接將輸入的數(shù)據(jù)轉(zhuǎn)換成對(duì)應(yīng)類型的數(shù)據(jù)(前提輸入的數(shù)據(jù)格式就滿足轉(zhuǎn)換要求),修改need參數(shù)的代碼如下:

pIYBAF_pegSAJLLWAAAPsdueYo4869.jpg

運(yùn)行查看:

02d5282a-4693-11eb-8b86-12bb97331649.png

指定參數(shù)類型

2.3 choices:參數(shù)值只能從幾個(gè)選項(xiàng)里面選擇

有時(shí)為了更加人性化提示用戶使用,可以提升用戶輸入哪些值,慢慢地感覺到了Linux的味道了。現(xiàn)在我們修改need參數(shù)的代碼如下:

pIYBAF_pehWAT7mCAAAVEW6XWcU234.jpg

使用-h命令查看修改后的樣子:

02feb8c0-4693-11eb-8b86-12bb97331649.png

幫助命令

可以看到,need參數(shù)的選擇項(xiàng)。具體效果,朋友們可以自行試試,這里不費(fèi)篇幅展示了,以下是輸入選擇范圍外的結(jié)果。

0353e5a2-4693-11eb-8b86-12bb97331649.png

選擇范圍外結(jié)果

2.4 dest:修改程序內(nèi)部獲取值方法

在命令行中輸入的命令是-ne等形式把參數(shù)傳入到程序,程序可通過其他屬性獲取對(duì)應(yīng)參數(shù)值,就是dest,修改need參數(shù)如下:

o4YBAF_peimAMe9WAAAYOARjIWo842.jpg

運(yùn)行:

039cc11e-4693-11eb-8b86-12bb97331649.png

獲取真實(shí)值

上面還修改打印語句為:

3 總結(jié)

argparse是一個(gè)全面的參數(shù)處理庫,功能比較強(qiáng)大,內(nèi)容也比較多,暫時(shí)就介紹這么多吧。更多實(shí)際需要的功能,我們就根據(jù)需要查看官方文檔以及網(wǎng)上的其他資料吧。

參考資料

[1]Argparse: https://docs.python.org/zh-cn/3.7/howto/argparse.html

[2]argparse基本用法: https://blog.csdn.net/yy_diego/article/details/82851661

[3]argparse簡要用法總結(jié): http://vra.github.io/2017/12/02/argparse-usage/

責(zé)任編輯:xj

原文標(biāo)題:讓Python程序參數(shù)輸入更像Linux命令——argparse

文章出處:【微信公眾號(hào):自然語言處理愛好者】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11342

    瀏覽量

    210341
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4807

    瀏覽量

    85023

原文標(biāo)題:讓Python程序參數(shù)輸入更像Linux命令——argparse

文章出處:【微信號(hào):NLP_lover,微信公眾號(hào):自然語言處理愛好者】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Python Connector for InterBase連接解決方案

    適用于 InterBase 的 Python 連接器 Python Connector for InterBase 是一種可靠的連接解決方案,用于從 Python 應(yīng)用程序訪問 Int
    的頭像 發(fā)表于 01-22 14:34 ?100次閱讀

    常用linux命令

    使用command A | command B | command C命令,將A命令產(chǎn)生的標(biāo)準(zhǔn)輸出作為B命令的標(biāo)準(zhǔn)輸入(注意只能接收前一個(gè)命令
    的頭像 發(fā)表于 01-20 14:26 ?117次閱讀

    Linux實(shí)時(shí)查看日志的四種命令詳解

    如何在Linux中實(shí)時(shí)查看日志文件的內(nèi)容?那么有很多實(shí)用程序可以幫助用戶在文件更改或不斷更新時(shí)輸出文件的內(nèi)容。在Linux中實(shí)時(shí)顯示文件內(nèi)容的常用命令是tail
    的頭像 發(fā)表于 01-13 10:45 ?240次閱讀
    <b class='flag-5'>Linux</b>實(shí)時(shí)查看日志的四種<b class='flag-5'>命令</b>詳解

    詳解Linux sort命令之掌握排序技巧與實(shí)用案例

    linux系統(tǒng)使用過程中,提供了sort排序命令,支持常用的排序功能。 常用參數(shù) sort命令支持很多參數(shù),常用
    的頭像 發(fā)表于 01-09 10:10 ?215次閱讀

    Linux grep命令詳解

    Linux grep命令是一種非常常用的文本搜索工具,它可以在給定的文件中搜索匹配的字符串,并輸出匹配的行。grep是全稱“global search regular expression print”,可以識(shí)別正則表達(dá)式,并使用正則表達(dá)式進(jìn)行搜索。
    的頭像 發(fā)表于 12-25 09:39 ?262次閱讀

    盤點(diǎn)Linux系統(tǒng)中的常見命令

    作為運(yùn)維同學(xué)怎能不知道Linux系統(tǒng)中的lsmod、lsof、lspci、lsscsi命令呢,今天就來盤一盤她及實(shí)例。
    的頭像 發(fā)表于 12-03 09:48 ?360次閱讀
    盤點(diǎn)<b class='flag-5'>Linux</b>系統(tǒng)中的常見<b class='flag-5'>命令</b>

    Linux系統(tǒng)中shell命令解析

    shell是Linux系統(tǒng)的用戶界面,提供了用戶與內(nèi)核交互的一種接口,它接收用戶輸入命令并到送到內(nèi)核去執(zhí)行,因此也被稱為Linux命令
    的頭像 發(fā)表于 11-05 15:40 ?377次閱讀

    華納云監(jiān)視Linux磁盤IO性能命令:iotop,iostat,vmstat,atop,dstat,ioping

    以下介紹6個(gè)監(jiān)視 Linux 磁盤IO性能的命令(工具),它們分別是iotop、iostat、vmstat、atop、dstat、ioping,以下將附上簡單的使用方法。 前言 磁盤IO
    的頭像 發(fā)表于 10-24 14:43 ?265次閱讀

    Linux實(shí)用命令大全

    Linux實(shí)用命令大全
    的頭像 發(fā)表于 10-23 13:50 ?302次閱讀
    <b class='flag-5'>Linux</b>實(shí)用<b class='flag-5'>命令</b>大全

    Linux lsof命令的基本用法

    linux 系統(tǒng)中,一切皆文件。通過文件不僅僅可以訪問常規(guī)數(shù)據(jù),還可以訪問網(wǎng)絡(luò)連接和硬件。所以 lsof 命令不僅可以查看進(jìn)程打開的文件、目錄,還可以查看進(jìn)程監(jiān)聽的端口等 socket 相關(guān)的信息。本文將介紹 lsof 命令
    的頭像 發(fā)表于 10-23 11:52 ?421次閱讀
    <b class='flag-5'>Linux</b> lsof<b class='flag-5'>命令</b>的基本用法

    shell基本介紹及常用命令之shell介紹

    命令。三、常用的shell命令Linux命令一般由三部分組成:Command [option] [parameter]。說明:一、[]部分中的內(nèi)容是可選項(xiàng);二、
    發(fā)表于 08-15 09:28

    Linux中cut命令的實(shí)用示例

    Linux command cut 用于文本處理。您可以使用此命令通過選擇列從文件中提取部分文本。
    的頭像 發(fā)表于 08-05 15:14 ?367次閱讀

    Linux的shutdown命令介紹

    并重啟,默認(rèn)運(yùn)行級(jí)別不能設(shè)為6,否則不能正常啟動(dòng)。 2.命令格式shutdown [選項(xiàng)] [參數(shù)] 3.選項(xiàng)說明-c cancel,其他用戶可以取消目前正在執(zhí)行的關(guān)機(jī)程序,或者Control-C終止
    發(fā)表于 04-08 06:12

    util-linux修復(fù)WallEscape漏洞,影響Linux系統(tǒng)wall命令使用

    WallEscape 主要影響“wall”命令操作,Linux 系統(tǒng)中的常規(guī)下,該指令被用作向系統(tǒng)所有登錄用戶的終端發(fā)布消息。然而在處理命令參數(shù)
    的頭像 發(fā)表于 03-29 14:35 ?1031次閱讀

    linux命令概述

    電子發(fā)燒友網(wǎng)站提供《linux命令概述.pdf》資料免費(fèi)下載
    發(fā)表于 03-11 09:18 ?3次下載
    主站蜘蛛池模板: 暖暖 视频 在线 观看 高清 | 亚洲A片不卡无码久久尤物 亚洲a免费 | 精选国产AV精选一区二区三区 | 摸董事长的裤裆恋老小说 | 迅雷哥在线观看高清 | 无人区乱码区1卡2卡三卡在线 | 日本理论片和搜子同居的日子2 | 被吊起玩弄的女性奴 | 亚洲伊人情人综合网站 | 三级aa久久 | 成人在线免费 | 成人精品在线视频 | 99久久久A片无码国产精 | 青青草国产自偷拍 | 国产 亚洲 中文字幕 在线 | 国产伦精品一区二区三区精品 | 免费看国产曰批40分钟 | 成人国产精品免费网站 | 国产精品18久久久久网站 | 久久6699精品国产人妻 | 国产精品99久久久久久AV蜜臀 | XXX国产麻豆HD真实乱 | 日韩高清一区二区三区不卡 | 国产AV精品久久久毛片 | 国产亚洲精品久久精品录音 | 精品国产乱码久久久久久夜深人妻 | 无码人妻视频又大又粗欧美 | 久草在线福利视频在线播放 | 国产成人欧美日韩在线电影 | 日本高清免费在线观看 | 色偷偷男人 | 国产一区91 | 九九在线精品亚洲国产 | 嫩草影院久久国产精品 | 攻把受做哭边走边肉楼梯PLAY | 无套暴躁白丝秘书 | 么公在浴室了我的奶 | 丰满人妻熟女色情A片 | 亚洲三级视频 | 麻豆免费观看高清完整视频 | 色一情一乱一伦一区二区三区 |