新聞中心
python獲取命令行參數(shù)實(shí)現(xiàn)方法:自己解析, 自給自足(batteries-included)的方式,以及大量的第三方方式。

成都創(chuàng)新互聯(lián)公司的客戶來自各行各業(yè),為了共同目標(biāo),我們?cè)诠ぷ魃厦芮信浜希瑥膭?chuàng)業(yè)型小企業(yè)到企事業(yè)單位,感謝他們對(duì)我們的要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來驚喜。專業(yè)領(lǐng)域包括成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、電商網(wǎng)站開發(fā)、微信營(yíng)銷、系統(tǒng)平臺(tái)開發(fā)。
1.自己解析
你可以從 sys 模塊中獲取程序的參數(shù)。
import sys if __name__ == '__main__': for value in sys.argv: print(value)
2.自給自足
在 Python 標(biāo)準(zhǔn)庫中已經(jīng)有幾個(gè)參數(shù)解析模塊的實(shí)現(xiàn): getopt 、 optparse ,以及最近的 argparse 。argparse 允許程序員為用戶提供一致的、有幫助的用戶體驗(yàn),但就像它的 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)3.CLI 的現(xiàn)代方法
Click 框架使用 裝飾器 的方式來構(gòu)建命令行解析。
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 接口中添加參數(shù)就像在堆棧中添加另一個(gè)裝飾符并將新的參數(shù)添加到函數(shù)定義中一樣簡(jiǎn)單。
知識(shí)拓展:
Typer 建立在 Click 之上,是一個(gè)更新的 CLI 框架,它結(jié)合了 Click 的功能和現(xiàn)代 Python 類型提示 。使用 Click 的缺點(diǎn)之一是必須在函數(shù)中添加一堆裝飾符。CLI 參數(shù)必須在兩個(gè)地方指定:裝飾符和函數(shù)參數(shù)列表。Typer 免去你造輪子 去寫 CLI 規(guī)范,讓代碼更容易閱讀和維護(hù)。
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()
大家可以根據(jù)自己的用例,選擇上面方法使用,如需了解更多python實(shí)用知識(shí),點(diǎn)擊進(jìn)入PyThon學(xué)習(xí)網(wǎng)教學(xué)中心。
(推薦操作系統(tǒng):windows7系統(tǒng)、Python 3.9.1,DELL G3電腦。)
分享標(biāo)題:創(chuàng)新互聯(lián)Python教程:詳解python獲取命令行參數(shù)實(shí)現(xiàn)方法
網(wǎng)站網(wǎng)址:http://www.dlmjj.cn/article/djdgjge.html


咨詢
建站咨詢
