精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

使用Python解析參數

開發 后端
如果你在使用 Python 進行開發,你可能會在終端中使用命令,即使只是為了啟動 Python 腳本或使用 pip 安裝 Python 模塊。

 [[271723]]

使用 argparse 模塊像專業人士一樣解析參數。

如果你在使用 Python 進行開發,你可能會在終端中使用命令,即使只是為了啟動 Python 腳本或使用 pip 安裝 Python 模塊。命令可能簡單而單一:

  1. $ ls

命令也可能需要參數:

  1. $ ls example

命令也可以有選項或標志:

  1. $ ls --color example

有時選項也有參數:

  1. $ sudo firewall-cmd  --list-all --zone home

參數

POSIX shell 會自動將你輸入的內容作為命令分成數組。例如,這是一個簡單的命令:

  1. $ ls example

命令 ls 的位置是 $0,參數 example 位置是 $1

可以寫一個循環迭代每項。確定它是否是命令、選項還是參數。并據此采取行動。幸運的是,已經有一個名為 argparse 的模塊。

argparse

argparse 模塊很容易集成到 Python 程序中,并有多種便利功能。例如,如果你的用戶更改選項的順序或使用一個不帶參數的選項(稱為布爾,意味著選項可以打開或關閉設置),然后另一個需要參數(例如 --color red),argparse 可以處理多種情況。如果你的用戶忘記了所需的選項,那么 argparse 模塊可以提供友好的錯誤消息。

要在應用中使用 argparse,首先要定義為用戶提供的選項。你可以接受幾種不同的參數,而語法一致又簡單。

這是一個簡單的例子:

  1. #!/usr/bin/env python
  2. import argparse
  3. import sys
  4.  
  5. def getOptions(args=sys.argv[1:]):
  6.     parser = argparse.ArgumentParser(description="Parses command.")
  7.     parser.add_argument("-i", "--input", help="Your input file.")
  8.     parser.add_argument("-o", "--output", help="Your destination output file.")
  9.     parser.add_argument("-n", "--number", type=int, help="A number.")
  10.     parser.add_argument("-v", "--verbose",dest='verbose',action='store_true', help="Verbose mode.")
  11.     options = parser.parse_args(args)
  12.     return options

此示例代碼創建一個名為 getOptions 的函數,并告訴 Python 查看每個可能的參數,前面有一些可識別的字符串(例如 --input 或者 -i)。 Python 找到的任何選項都將作為 options 對象從函數中返回(options 是一個任意名稱,且沒有特殊含義。它只是一個包含函數已解析的所有參數的摘要的數據對象)。

默認情況下,Python 將用戶給出的任何參數視為字符串。如果需要提取整數(數字),則必須指定選項 type=int,如示例代碼中的 --number 選項。

如果你有一個只是關閉和打開功能的參數,那么你必須使用 boolean 類型,就像示例代碼中的 --verbose 標志一樣。這種選項只保存 TrueFalse,用戶用來指定是否使用標志。如果使用該選項,那么會激活 stored_true

getOptions 函數運行時,你就可以使用 options 對象的內容,并讓程序根據用戶調用命令的方式做出決定。你可以使用測試打印語句查看 options 的內容。將其添加到示例文件的底部:

  1. print(getOptions())

然后帶上參數運行代碼:

  1. $ python3 ./example.py -i foo -n 4
  2. Namespace(input='foo', number=4, output=None, verbose=False)

檢索值

示例代碼中的 options 對象包含了用戶提供的選項后面的值(或派生的布爾值)。例如,在示例代碼中,可以通過 options.number 來檢索 --number

  1. options = getOptions(sys.argv[1:])
  2.  
  3. if options.verbose:
  4.     print("Verbose mode on")
  5. else:
  6.     print("Verbose mode off")
  7.  
  8. print(options.input)
  9. print(options.output)
  10. print(options.number)
  11.  
  12. # 這里插入你的 Python 代碼

示例中的布爾選項 --verbose 是通過測試 options.verbose 是否為 True(意味著用戶使用了 --verbose 標志)或 False(用戶沒有使用 --verbose 標志),并采取相應的措施。

幫助和反饋

argparse 還包含一個內置的 --help(簡寫 -h)選項,它提供了有關如何使用命令的提示。這是從你的代碼派生的,因此生成此幫助系統不需要額外的工作:

  1. $ ./example.py --help
  2. usage: example.py [-h] [-i INPUT] [-o OUTPUT] [-n NUMBER] [-v]
  3.  
  4. Parses command.
  5.  
  6. optional arguments:
  7.   -h, --help            show this help message and exit
  8.   -i INPUT, --input INPUT
  9.                         Your input file.
  10.   -o OUTPUT, --output OUTPUT
  11.                         Your destination output file.
  12.   -n NUMBER, --number NUMBER
  13.                         A number.
  14.   -v, --verbose         Verbose mode.

像專業人士一樣用 Python 解析

這是一個簡單的示例,來演示如何在 Python 應用中的解析參數以及如何快速有效地記錄它的語法。下次編寫 Python 腳本時,請使用 argparse 為其提供一些選項。你以后會感到自得,你的命令不會像一個快速的臨時腳本,更像是一個“真正的” Unix 命令!

以下是可用于測試的示例代碼:

  1. #!/usr/bin/env python3
  2. # GNU All-Permissive License
  3. # Copying and distribution of this file, with or without modification,
  4. # are permitted in any medium without royalty provided the copyright
  5. # notice and this notice are preserved.  This file is offered as-is,
  6. # without any warranty.
  7.  
  8. import argparse
  9. import sys
  10.  
  11. def getOptions(args=sys.argv[1:]):
  12.     parser = argparse.ArgumentParser(description="Parses command.")
  13.     parser.add_argument("-i", "--input", help="Your input file.")
  14.     parser.add_argument("-o", "--output", help="Your destination output file.")
  15.     parser.add_argument("-n", "--number", type=int, help="A number.")
  16.     parser.add_argument("-v", "--verbose",dest='verbose',action='store_true', help="Verbose mode.")
  17.     options = parser.parse_args(args)
  18.     return options
  19.  
  20. options = getOptions(sys.argv[1:])
  21.  
  22. if options.verbose:
  23.     print("Verbose mode on")
  24. else:
  25.     print("Verbose mode off")
  26.  
  27. print(options.input)
  28. print(options.output)
  29. print(options.number)

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2021-11-15 14:30:49

Pythonargparse編程語言

2010-02-22 17:12:34

Python對象

2022-12-06 11:57:54

Lua參數

2010-03-15 10:49:57

Python函數變量

2021-07-05 12:09:58

Python編程語言

2022-07-13 16:06:16

Python參數代碼

2021-05-12 10:17:15

Shell工具Linux

2021-03-27 10:54:34

Python函數代碼

2010-02-03 09:19:31

Python模塊

2014-05-15 10:07:29

2010-03-04 10:56:52

JVM參數

2021-11-08 10:45:07

Python命令工具

2010-04-19 17:08:01

Oracle參數

2024-04-29 07:38:20

PythonDocopt開發

2022-11-08 11:49:09

NLP庫Python云服務

2020-11-23 10:48:39

Golang GinW

2010-01-06 15:16:58

Ubuntu啟動流程

2018-02-23 11:11:11

PythonUrllibURL

2010-01-28 13:15:43

C++參數

2010-04-08 16:05:49

Unix操作系統
點贊
收藏

51CTO技術棧公眾號

奇米影视一区二区三区小说| 久久av综合| 亚洲福利视频导航| 欧美日产一区二区三区在线观看| 中文字幕福利视频| 欧美三级黄美女| 国产午夜精品全部视频在线播放| 三日本三级少妇三级99| 女人高潮被爽到呻吟在线观看| 国产精品五月天| 国产乱码精品一区二区三区卡| 亚洲精品国产精品乱码视色| 韩日成人av| 亚洲欧美日本精品| 亚洲熟妇一区二区| 粉嫩一区二区三区| 亚洲一级二级在线| 一区二区高清视频| 日本中文字幕电影在线观看| 国产麻豆成人精品| 国产精品久久久久久亚洲影视| 久久精品无码人妻| 93在线视频精品免费观看| 亚洲激情第一页| 亚洲一级片免费观看| 日韩网站中文字幕| 精品久久久视频| 欧美高清中文字幕| 日韩伦理在线观看| 久久久久久免费| 精品久久蜜桃| 丰满肉嫩西川结衣av| 韩国v欧美v日本v亚洲v| 国产精品劲爆视频| 国产农村妇女aaaaa视频| 欧美日韩精品免费观看视频完整| 久久久成人的性感天堂| 最新中文字幕av| 欧美三级电影在线| 亚洲国产欧美精品| 人妻 丝袜美腿 中文字幕| 国产精久久久| 欧美一级艳片视频免费观看| 黄色永久免费网站| 欧美在线va视频| 色菇凉天天综合网| 久久久噜噜噜www成人网| 国产h片在线观看| 一区二区三区精品视频在线| 看全色黄大色大片| free性欧美hd另类精品| 亚洲人成伊人成综合网小说| 黄色高清视频网站| 成人在线视频亚洲| 亚洲人成网站在线| 黄色网zhan| 婷婷色在线资源| 亚洲一区二区三区视频在线| 99国产精品白浆在线观看免费| 韩国中文字幕在线| 亚洲综合区在线| 蜜臀精品一区二区| 久久男人天堂| 欧洲一区二区三区免费视频| 在线观看免费视频高清游戏推荐| 九九热这里有精品| 在线观看视频一区| 不卡的在线视频| 136导航精品福利| 亚洲精品成人久久| 亚洲精品国产熟女久久久| 日韩大片在线观看| 精品中文字幕视频| 91看片在线播放| 秋霞午夜av一区二区三区| 国产一区二区色| 亚洲精品中文字幕成人片| 99在线精品免费| 青青草原亚洲| 国产精品久久麻豆| 一区二区三区四区不卡在线| 久久久久久www| 日本少妇一区| 日韩女优毛片在线| 欧美图片一区二区| 久久免费大视频| 欧美国产日韩一区二区| 中文字幕第四页| 久久99精品网久久| 国产成人亚洲欧美| av在线播放免费| 亚洲制服丝袜av| 天天天干夜夜夜操| 亚洲一区二区三区在线免费| 精品无人区太爽高潮在线播放| а天堂中文在线资源| 亚洲视频一区| 国产精品入口日韩视频大尺度| 性中国xxx极品hd| 国产色婷婷亚洲99精品小说| 男人添女人下部视频免费| av资源亚洲| 日韩欧美专区在线| 永久免费毛片在线观看| 欧美亚洲不卡| 日本一区二区三区在线播放 | 精品久久久久久久久中文字幕 | 不卡av在线网| 一区二区av| 成人自拍av| 精品国产乱码久久久久久久久| 欧美午夜激情影院| 一本综合久久| 97视频热人人精品| 1pondo在线播放免费| 天天av天天翘天天综合网色鬼国产| 欧美黄色性生活| 日本一区福利在线| 欧美日韩成人网| 97超碰资源站| 中文字幕乱码一区二区免费| 日韩中文字幕在线视频观看| 久久在线观看| 爱福利视频一区| 波多野结衣小视频| 久久综合久久久久88| 欧美日韩福利在线| 免费欧美网站| 另类视频在线观看| 中文字幕 日韩有码| 久久综合九色综合97婷婷女人| 国产精品免费看久久久无码| 99精品在线免费观看| 最近中文字幕2019免费| 最近免费中文字幕大全免费版视频| 成人av免费在线| 免费看毛片的网址| 91精品短视频| 欧美高清不卡在线| www.xxxx国产| 亚洲乱码国产乱码精品精可以看 | 久久久精品一区二区三区| 丁香社区五月天| 国产色91在线| 日韩欧美xxxx| 波多野结衣一区| 国产精品久久久久久久久| 二区在线视频| 欧美日韩三级一区| 战狼4完整免费观看在线播放版| 日韩成人午夜精品| 亚洲午夜精品一区二区三区| julia一区二区三区中文字幕| 国产一区二区日韩| 亚洲影视一区二区| 亚洲视频一区在线观看| www.日本久久| 一区免费在线| 欧美日韩综合久久| 成人免费毛片嘿嘿连载视频…| 中文字幕亚洲激情| 国产精品亚洲lv粉色| 亚洲永久精品国产| 久久一区二区电影| 久久综合五月| 中文字幕一区二区三区四区五区人| 91麻豆精品| 久久久亚洲欧洲日产国码aⅴ| 日韩资源在线| 欧美三级电影网| 欧美精品99久久久| 91在线精品一区二区| 亚洲人成色77777| 色综合久久一区二区三区| 亚洲最大av在线| 黄色漫画在线免费看| 亚洲视频在线观看免费| 国产又粗又猛视频| 亚洲一区二区三区激情| 国产交换配乱淫视频免费| 久久精品国产一区二区三| 欧洲精品在线播放| 国产精品一区高清| 3d动漫精品啪啪一区二区三区免费| freexxx性亚洲精品| 亚洲小视频在线| www.成人在线观看| 在线观看91视频| 青娱乐国产在线视频| 久久久久久久久免费| 久久久久久综合网| 免费视频一区| 大片在线观看网站免费收看| 亚洲日本三级| 动漫美女被爆操久久久| 制服诱惑亚洲| 久久久久久久久久av| 大胆av不用播放器在线播放| 91精品国产综合久久国产大片 | 亚洲美女91| 一区不卡字幕| 国产精品免费不| 成人黄动漫网站免费| 69堂免费精品视频在线播放| 欧美高清视频免费观看| jizz亚洲| 亚洲色图美腿丝袜| 欧美 日韩 中文字幕| 欧美日韩免费高清一区色橹橹| 中文在线观看免费网站| 国产精品久久99| 中文字幕被公侵犯的漂亮人妻| 成人免费黄色在线| 久久出品必属精品| 日韩激情一二三区| 免费看又黄又无码的网站| 欧美成人tv| 一区在线电影| 国内精品久久久久久99蜜桃| 久久精品magnetxturnbtih| 57pao成人永久免费| 国产精品久久久久77777| 在线毛片观看| 91精品国产精品| 超碰在线网站| 欧美日韩成人免费| 成人在线播放| 北条麻妃一区二区三区中文字幕| jizz日韩| 中文欧美日本在线资源| 欧美人体大胆444www| 亚洲精品www久久久久久广东| 亚洲av无码片一区二区三区| 日韩亚洲电影在线| 精品国产区一区二| 91精品国产一区二区三区香蕉| 伊人网视频在线| 欧美三级资源在线| 又污又黄的网站| 欧美日韩精品一区二区三区蜜桃 | 欧美一级一级性生活免费录像| 国产有码在线观看| 制服丝袜亚洲色图| 97人妻精品一区二区三区软件| 欧美日韩色一区| 国产精品久久久久久久免费看 | 韩国一区二区在线播放| 久久99精品久久只有精品| 亚洲狼人综合干| 日韩精品久久理论片| 婷婷丁香激情网| 久久99精品视频| 欧美日韩一区二区区| 国产成人亚洲综合色影视| 日本性生活一级片| av资源站一区| 亚洲色成人网站www永久四虎 | 国产一区二区导航在线播放| 国产高清av片| 国产+成+人+亚洲欧洲自线| 最新中文字幕日本| 91在线视频播放地址| www.av天天| 最新国产成人在线观看| 欧美三级在线免费观看| 亚洲va国产天堂va久久en| 圆产精品久久久久久久久久久| 黑人巨大精品欧美一区二区免费 | 色999五月色| 欧美激情偷拍自拍| 免费人成自慰网站| 老**午夜毛片一区二区三区| 欧美女同在线观看| 国产黑丝在线一区二区三区| 亚洲第一黄色网址| 国产欧美精品国产国产专区| 成人在线观看小视频| 亚洲午夜av在线| www.久久视频| 日韩美女视频在线| 日韩欧美视频一区二区| 老司机亚洲精品一区二区| 高清国产一区| 不卡一区综合视频| 国产乱子伦精品视频| 久久国产一二区| 亚洲免费成人在线视频| jvid福利写真一区二区三区| 国产伦精品一区二区三区视频女| 亚洲乱码国产乱码精品精的特点| 91蜜桃视频在线观看| 欧美日韩免费一区二区三区 | 久久精品日韩一区二区三区| 色哟哟一一国产精品| 午夜电影网一区| 国产伦精品一区二区三区免.费 | 免费在线观看av片| 97香蕉久久夜色精品国产| 日韩毛片免费看| 欧美黄色直播| 激情综合自拍| 爱豆国产剧免费观看大全剧苏畅| 99国产精品99久久久久久| 日韩黄色免费观看| 在线观看日产精品| 天堂av一区二区三区| 久久久精品999| 日韩中文视频| 久久久久久久久久久一区| 一区二区蜜桃| 天天爽天天爽夜夜爽| 91免费观看视频在线| 精品一区二区三区人妻| 欧美乱妇20p| 成年女人的天堂在线| 97精品国产97久久久久久春色| 国产视频一区二区在线播放| 亚洲精品乱码视频| 媚黑女一区二区| 国产二级一片内射视频播放| 亚洲人成网站色在线观看| 在线观看免费视频一区| 亚洲人成人99网站| 欧美freesex黑人又粗又大| 国产精品毛片va一区二区三区| 亚洲成av人片乱码色午夜| 在线免费观看视频黄| 国产午夜精品在线观看| www.国产高清| 日韩av在线天堂网| 福利影院在线看| 精品一卡二卡三卡四卡日本乱码| 激情五月***国产精品| 肉丝美足丝袜一区二区三区四| 亚洲美女免费视频| 国产乱人乱偷精品视频a人人澡| 久久精品视频在线播放| 先锋影音一区二区| 中文字幕一区综合| 免费一级片91| 自拍偷拍第9页| 欧美伦理视频网站| 久久日韩视频| 亚洲一区二区少妇| 欧美精品国产一区二区| 亚洲国产综合av| 亚洲亚洲精品在线观看| 国产91久久久| 欧美一级电影免费在线观看| 亚洲日本三级| 天天综合网日韩| 成人欧美一区二区三区小说| 99国产精品久久久久99打野战| 欧美精品生活片| 白嫩白嫩国产精品| 3d动漫一区二区三区| 2023国产精品| 中文字幕永久免费视频| 日韩在线视频一区| 日韩精品免费视频一区二区三区 | 手机精品视频在线观看| 免费视频91蜜桃| 91精品国产综合久久久久久| 污影院在线观看| 国产一区自拍视频| 久久一区亚洲| 欧美88888| 亚洲福利在线视频| 亚洲精品一区三区三区在线观看| 亚洲一区尤物| 亚洲综合网在线| 欧美日韩一区二区在线观看视频| 天堂地址在线www| 97欧洲一区二区精品免费| 亚洲日本黄色| 中文字幕伦理片| 日韩一本二本av| 一二三四视频在线中文| 亚洲一区三区视频在线观看| 风流少妇一区二区| 国产精品自拍99| www国产91| 亚洲v天堂v手机在线| 亚洲一区二区三区四区五区| 亚洲精品成a人| 邻居大乳一区二区三区| 91九色综合久久| 亚洲伊人网站| 国产高清视频免费在线观看| 亚洲国产精品人久久电影| 日韩高清成人| 日韩网站在线免费观看| 欧美国产欧美综合| 人人妻人人玩人人澡人人爽| 国产精品流白浆视频| 极品少妇一区二区三区| 欧美aaa级片| 日韩激情视频在线| 国产精品亚洲欧美日韩一区在线| 日本三级免费观看|