中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python獲取命令行參數的實現方法

發布時間:2020-11-02 12:40:16 來源:億速云 閱讀:168 作者:小新 欄目:編程語言

這篇文章主要介紹python獲取命令行參數的實現方法,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

Python 在命令行解析方面給出了類似的幾個選擇:自己解析, 自給自足(batteries-included)的方式,以及大量的第三方方式

自己解析

你可以從 sys 模塊中獲取程序的參數。

import sys
 
if __name__ == '__main__':
   for value in sys.argv:
       print(value)

自給自足

在 Python 標準庫中已經有幾個參數解析模塊的實現: getopt 、 optparse ,以及最近的 argparse 。argparse 允許程序員為用戶提供一致的、有幫助的用戶體驗,但就像它的 GNU 前輩一樣,它需要程序員做大量的工作和“ 模板代碼 ”才能使它“奏效”。

from argparse import ArgumentParser
 
if __name__ == "__main__":
 
   argparser = ArgumentParser(description='My Cool Program')
   argparser.add_argument("--foo", "-f", help="A user supplied foo")
   argparser.add_argument("--bar", "-b", help="A user supplied bar")
   
   results = argparser.parse_args()
   print(results.foo, results.bar)

CLI 的現代方法

Click 框架使用 裝飾器 的方式來構建命令行解析。

import click
 
@click.command()
@click.option("-f", "--foo", default="foo", help="User supplied foo.")
@click.option("-b", "--bar", default="bar", help="User supplied bar.")
def echo(foo, bar):
    """My Cool Program
   
    It does stuff. Here is the documentation for it.
    """
    print(foo, bar)
   
if __name__ == "__main__":
echo()

在 Click 接口中添加參數就像在堆棧中添加另一個裝飾符并將新的參數添加到函數定義中一樣簡單。

知識拓展:

Typer 建立在 Click 之上,是一個更新的 CLI 框架,它結合了 Click 的功能和現代 Python 類型提示 。使用 Click 的缺點之一是必須在函數中添加一堆裝飾符。CLI 參數必須在兩個地方指定:裝飾符和函數參數列表。Typer 免去你造輪子 去寫 CLI 規范,讓代碼更容易閱讀和維護。

import typer
 
cli = typer.Typer()
 
@cli.command()
def echo(foo: str = "foo", bar: str = "bar"):
    """My Cool Program
   
    It does stuff. Here is the documentation for it.
    """
    print(foo, bar)
   
if __name__ == "__main__":
cli()

以上是python獲取命令行參數的實現方法的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

红安县| 乌鲁木齐县| 南昌县| 双桥区| 广南县| 永德县| 重庆市| 恩平市| 平潭县| 汽车| 万源市| 平度市| 隆安县| 阿荣旗| 甘洛县| 灵石县| 四会市| 韶关市| 西宁市| 尉氏县| 平果县| 邢台市| 唐山市| 海丰县| 古田县| 龙州县| 武鸣县| 惠东县| 濉溪县| 阿拉善右旗| 临武县| 崇文区| 理塘县| 凌源市| 贵德县| 长沙县| 金平| 钟山县| 巴彦县| 安宁市| 同江市|