国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Python的命令行參數(shù)解析

這篇具有很好參考價(jià)值的文章主要介紹了Python的命令行參數(shù)解析。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

命令行參數(shù)解析在編程語(yǔ)言中基本都會(huì)碰到,Python中內(nèi)置了一個(gè)用于命令項(xiàng)選項(xiàng)與參數(shù)解析的模塊argparse。下面主要介紹兩種解析Python命令行參數(shù)的方式。

1. sys.argv

解析Python中命令行參數(shù)的最傳統(tǒng)的方法是通過sys.argv。Demo如下:

#!/usr/env/python python
# _*_ coding: utf-8 _*_

import sys

param1 = sys.argv[1]
param2 = sys.argv[2]

print sys.argv
print param1
print param2
print type(param1)
print type(param2)

復(fù)制

測(cè)試結(jié)果如下:

$ python test.py 1 2
['test.py', '1', '2']
1
2

復(fù)制

這種方法比較古老,靈活性很差,同時(shí)解析出來的參數(shù)都是str類型。但在編寫簡(jiǎn)單腳本,參數(shù)較少且固定時(shí)比較方便。

2. argparse

argparse模塊是Python內(nèi)置的參數(shù)解析模塊,使用起來比較簡(jiǎn)單且功能強(qiáng)大。Demo如下:

#!/usr/env/python python
# _*_ coding: utf-8 _*_

import argparse

# Create ArgumentParser() object
parser = argparse.ArgumentParser()

# Add argument
parser.add_argument('--train', required=True, help='path to dataset')
parser.add_argument('--val', required=True, help='path to dataset')
parser.add_argument('--total', type=int, help='number of dataset', default=100)
parser.add_argument('--lr', type=float, default=0.01, help='learning rate')

# Print usage
parser.print_help()

# Parse argument
args = parser.parse_args()

# Print args
print args

print args.train
print type(args.train)
print args.val
print type(args.val)
print args.total
print type(args.total)
print args.lr
print type(args.lr)

復(fù)制

測(cè)試結(jié)果如下:

# Test 1
python test.py --train train_lmdb --val val_lmdb --total 10000 --lr 0.001
usage: test.py [-h] --train TRAIN --val VAL [--total TOTAL] [--lr LR]

optional arguments:
  -h, --help     show this help message and exit
  --train TRAIN  path to dataset
  --val VAL      path to dataset
  --total TOTAL  number of dataset
  --lr LR        learning rate
Namespace(lr=0.001, total=10000, train='train_lmdb', val='val_lmdb')
train_lmdb
<type 'str'>
val_lmdb
<type 'str'>
10000
<type 'int'>
0.001
<type 'float'>

# Test 2
python test.py --train train_lmdb --val val_lmdb
usage: test.py [-h] --train TRAIN --val VAL [--total TOTAL] [--lr LR]

optional arguments:
  -h, --help     show this help message and exit
  --train TRAIN  path to dataset
  --val VAL      path to dataset
  --total TOTAL  number of dataset
  --lr LR        learning rate
Namespace(lr=0.01, total=100, train='train_lmdb', val='val_lmdb')
train_lmdb
<type 'str'>
val_lmdb
<type 'str'>
100
<type 'int'>
0.01
<type 'float'>


# Test 3
python test.py --val val_lmdb --train train_lmdb
usage: test.py [-h] --train TRAIN --val VAL [--total TOTAL] [--lr LR]

optional arguments:
  -h, --help     show this help message and exit
  --train TRAIN  path to dataset
  --val VAL      path to dataset
  --total TOTAL  number of dataset
  --lr LR        learning rate
Namespace(lr=0.01, total=100, train='train_lmdb', val='val_lmdb')
train_lmdb
<type 'str'>
val_lmdb
<type 'str'>
100
<type 'int'>
0.01
<type 'float'>

復(fù)制

ArgumentParser類創(chuàng)建時(shí)的參數(shù)如下:

  • prog - 程序的名字(默認(rèn):sys.argv[0])
  • usage - 描述程序用法的字符串(默認(rèn):從解析器的參數(shù)生成)
  • description - 參數(shù)幫助信息之前的文本(默認(rèn):空)
  • epilog - 參數(shù)幫助信息之后的文本(默認(rèn):空)
  • parents - ArgumentParser 對(duì)象的一個(gè)列表,這些對(duì)象的參數(shù)應(yīng)該包括進(jìn)去
  • formatter_class - 定制化幫助信息的類
  • prefix_chars - 可選參數(shù)的前綴字符集(默認(rèn):‘-‘)
  • fromfile_prefix_chars - 額外的參數(shù)應(yīng)該讀取的文件的前綴字符集(默認(rèn):None)
  • argument_default - 參數(shù)的全局默認(rèn)值(默認(rèn):None)
  • conflict_handler - 解決沖突的可選參數(shù)的策略(通常沒有必要)
  • add_help - 給解析器添加-h/–help 選項(xiàng)(默認(rèn):True)

add_argument函數(shù)的參數(shù)如下:文章來源地址http://www.zghlxwxcb.cn/news/detail-473743.html

  • name or flags - 選項(xiàng)字符串的名字或者列表,例如foo 或者-f, –foo。
  • action - 在命令行遇到該參數(shù)時(shí)采取的基本動(dòng)作類型。
  • nargs - 應(yīng)該讀取的命令行參數(shù)數(shù)目。
  • const - 某些action和nargs選項(xiàng)要求的常數(shù)值。
  • default - 如果命令行中沒有出現(xiàn)該參數(shù)時(shí)的默認(rèn)值。
  • type - 命令行參數(shù)應(yīng)該被轉(zhuǎn)換成的類型。
  • choices - 參數(shù)可允許的值的一個(gè)容器。
  • required - 該命令行選項(xiàng)是否可以省略(只針對(duì)可選參數(shù))。
  • help - 參數(shù)的簡(jiǎn)短描述。
  • metavar - 參數(shù)在幫助信息中的名字。
  • dest - 給parse_args()返回的對(duì)象要添加的屬性名稱。

到了這里,關(guān)于Python的命令行參數(shù)解析的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【小知識(shí)】argparse --- 命令行選項(xiàng)、參數(shù)和子命令解析器詳解

    【小知識(shí)】argparse --- 命令行選項(xiàng)、參數(shù)和子命令解析器詳解

    argparse模塊提供了非常方便的命令行參數(shù)解析功能,能夠大大簡(jiǎn)化命令行程序的開發(fā)。 現(xiàn)在的大型項(xiàng)目中都會(huì)運(yùn)用argparse來管理項(xiàng)目中涉及的參數(shù),在使用命令行時(shí)更好地定義模型參數(shù)。 搜索得到的參數(shù)解釋都不是很清楚所以做個(gè)總結(jié)。 argparse定義四個(gè)步驟: 1.導(dǎo)入argparse包

    2024年02月03日
    瀏覽(14)
  • 【C++】開源:gflags命令行參數(shù)解析庫(kù)配置使用

    【C++】開源:gflags命令行參數(shù)解析庫(kù)配置使用

    ?? ★,° :.☆( ̄▽ ̄)/$: .°★ ?? 這篇文章主要介紹gflags命令行參數(shù)解析庫(kù)配置使用。 無專精則不能成,無涉獵則不能通?!?jiǎn)⒊?歡迎來到我的博客,一起學(xué)習(xí),共同進(jìn)步。 喜歡的朋友可以關(guān)注一下,下次更新不迷路?? 項(xiàng)目Github地址: https://github.com/gflags/gflags gflags(

    2024年02月13日
    瀏覽(20)
  • 【教程科普】帶命令行參數(shù)解析的C程序到底怎么寫?

    帶命令行參數(shù)解析的C程序到底怎么寫? 最近工作上,遇到這樣一個(gè)問題:我需要寫一個(gè)C語(yǔ)言的程序,這個(gè)程序要求帶命令行輸入,之前有了解一些這方面的知識(shí),本文將帶大家好好梳理一下,希望對(duì)大家有所幫助。 最近工作上,遇到這樣一個(gè)問題:我需要寫一個(gè)C語(yǔ)言的程

    2024年02月01日
    瀏覽(21)
  • 【Linux 】getopts 可選參數(shù)_Bash技巧:介紹 getopts 內(nèi)置命令解析選項(xiàng)參數(shù)的用法

    在 Linux bash shell 中,內(nèi)置了一個(gè) getopts 命令,可以處理以 ‘-’ 開頭的選項(xiàng)參數(shù)。本篇文章通過多個(gè)實(shí)例詳解 getopts 命令的用法。 getopts 命令簡(jiǎn)介 在 bash shell 上執(zhí)行命令,常常會(huì)用到一些選項(xiàng)參數(shù)來指定不同的操作。例如 ls 命令的 -l、-a 選項(xiàng)等。 我們?cè)诰帉?shell 腳本時(shí),也

    2024年02月07日
    瀏覽(23)
  • 從零開始用Rust編寫nginx,命令行參數(shù)的設(shè)計(jì)與解析及說明

    從零開始用Rust編寫nginx,命令行參數(shù)的設(shè)計(jì)與解析及說明

    wmproxy 已用 Rust 實(shí)現(xiàn) http/https 代理,? socks5 代理, 反向代理, 靜態(tài)文件服務(wù)器,四層TCP/UDP轉(zhuǎn)發(fā),七層負(fù)載均衡,內(nèi)網(wǎng)穿透,后續(xù)將實(shí)現(xiàn) websocket 代理等,會(huì)將實(shí)現(xiàn)過程分享出來,感興趣的可以一起造個(gè)輪子 國(guó)內(nèi): https://gitee.com/tickbh/wmproxy github: https://github.com/tickbh/wmproxy 設(shè)計(jì)目標(biāo)

    2024年01月25日
    瀏覽(18)
  • scalpel一款命令行漏洞掃描工具,支持深度參數(shù)注入,擁有一個(gè)強(qiáng)大的數(shù)據(jù)解析和變異算法

    scalpel一款命令行漏洞掃描工具,支持深度參數(shù)注入,擁有一個(gè)強(qiáng)大的數(shù)據(jù)解析和變異算法

    免責(zé)聲明 由于傳播、利用本文章所提供的信息而造成的任何直接或者間接的后果及損失,均由使用者本人負(fù)責(zé),文章及作者不為此承擔(dān)任何責(zé)任,一旦造成后果請(qǐng)自行承擔(dān)!如有侵權(quán)煩請(qǐng)告知,我們會(huì)立即刪除并致歉。謝謝!所有工具安全性自測(cè)!??! 工具介紹 scalpel是一款

    2024年01月19日
    瀏覽(26)
  • Python UI自動(dòng)化 —— pytest常用運(yùn)行參數(shù)解析、pytest執(zhí)行順序解析

    Python UI自動(dòng)化 —— pytest常用運(yùn)行參數(shù)解析、pytest執(zhí)行順序解析

    -v 用于顯示每個(gè)測(cè)試函數(shù)的執(zhí)行結(jié)果 -q 只顯示整體測(cè)試結(jié)果 -s 用于顯示測(cè)試函數(shù)中print()函數(shù)輸出 -x 在第一個(gè)錯(cuò)誤或失敗的測(cè)試中立即退出 -m 只運(yùn)行帶有裝飾器配置的測(cè)試用例 -k 通過表達(dá)式運(yùn)行指定的測(cè)試用例 -h 幫助 首先來看什么參數(shù)都沒加的運(yùn)行情況 -v 用于顯示每個(gè)測(cè)

    2024年02月09日
    瀏覽(25)
  • Python Fire:更加靈活的命令行參數(shù)

    之前介紹過 Python 的 Fire 庫(kù),一個(gè)用來生成命令行工具的的庫(kù)。 請(qǐng)參考:Python Fire:自動(dòng)生成命令行接口 今天,針對(duì)命令行參數(shù),補(bǔ)充兩種更加靈活的設(shè)置方式。 *args 型的參數(shù)可以接受任意長(zhǎng)度的參數(shù)。 比如,模擬一個(gè)學(xué)校發(fā)送通知的功能: 使用起來很靈活, 從上面使用的

    2024年02月19日
    瀏覽(24)
  • 常用python代碼大全-python使用argparse模塊處理命令行參數(shù)

    argparse 是 Python 的一個(gè)標(biāo)準(zhǔn)庫(kù)模塊,用于從命令行解析參數(shù)。這個(gè)模塊使編寫用戶友好的命令行接口變得更加簡(jiǎn)單。下面是一個(gè)使用 argparse 模塊處理命令行參數(shù)的示例代碼: 在這個(gè)示例中,我們首先導(dǎo)入了 argparse 模塊。然后,我們創(chuàng)建了一個(gè) ArgumentParser 對(duì)象,它代表我們的

    2024年02月01日
    瀏覽(45)
  • 【python】程序運(yùn)行添加命令行參數(shù)argparse模塊用法詳解

    【python】程序運(yùn)行添加命令行參數(shù)argparse模塊用法詳解

    ?很多時(shí)候,我們的程序要帶參數(shù)來運(yùn)行不同的功能,需要解析命令行參數(shù)。argparse模塊能夠很好的提供支持。 argparse是 python 自帶的命令行參數(shù)解析包,用于解析命令行參數(shù)的標(biāo)準(zhǔn)模塊??梢宰屓溯p松編寫用戶友好的命令行接口,還會(huì)自動(dòng)生成幫助和使用手冊(cè),并在用戶給程

    2024年02月04日
    瀏覽(43)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包