這篇文章主要介紹python獲取命令行參數(shù)的實現(xiàn)方法,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:域名與空間、網(wǎng)絡空間、營銷軟件、網(wǎng)站建設、鄂城網(wǎng)站維護、網(wǎng)站推廣。Python 在命令行解析方面給出了類似的幾個選擇:自己解析, 自給自足(batteries-included)的方式,以及大量的第三方方式。
自己解析
你可以從 sys 模塊中獲取程序的參數(shù)。
import sys if __name__ == '__main__': for value in sys.argv: print(value)
自給自足
在 Python 標準庫中已經(jīng)有幾個參數(shù)解析模塊的實現(xiàn): 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 的現(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ù)就像在堆棧中添加另一個裝飾符并將新的參數(shù)添加到函數(shù)定義中一樣簡單。
知識拓展:
Typer 建立在 Click 之上,是一個更新的 CLI 框架,它結(jié)合了 Click 的功能和現(xiàn)代 Python 類型提示 。使用 Click 的缺點之一是必須在函數(shù)中添加一堆裝飾符。CLI 參數(shù)必須在兩個地方指定:裝飾符和函數(shù)參數(shù)列表。Typer 免去你造輪子 去寫 CLI 規(guī)范,讓代碼更容易閱讀和維護。
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獲取命令行參數(shù)的實現(xiàn)方法的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)網(wǎng)站建設公司行業(yè)資訊頻道!
本文題目:python獲取命令行參數(shù)的實現(xiàn)方法-創(chuàng)新互聯(lián)
分享鏈接:http://www.rwnh.cn/article26/csejjg.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、網(wǎng)站營銷、網(wǎng)站制作、動態(tài)網(wǎng)站、關(guān)鍵詞優(yōu)化、靜態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容