国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

使用Python編寫類UNIX系統(tǒng)的命令行工具的教程

2020-02-23 00:43:39
字體:
來源:轉載
供稿:網(wǎng)友

引言

您是否能編寫命令行工具?也許您可以,但您能編寫出真正好用的命令行工具嗎?本文討論使用 Python 來創(chuàng)建一個強健的命令行工具,并帶有內置的幫助菜單、錯誤處理和選項處理。由于一些奇怪的原因,很多人并不了解 Python? 的標準庫具有制作功能極其強大的 *NIX 命令行工具所需的全部工具。

可以這樣說,Python 是制作 *NIX 命令行工具的最佳語言,因為它依照“batteries-included”的哲學方式工作,并且強調提供可讀性高的代碼。但僅作為提醒,當您發(fā)現(xiàn)使用 Python 創(chuàng)建命令行工具是一件多么簡單的事情時,這些想法很危險,您的生活可能被攪得一團糟。據(jù)我所知,至今還沒有發(fā)表過詳細說明使用 Python 創(chuàng)建命令行工具的文章,因此我希望您喜歡這篇文章。
設置

Python 標準庫中的 optparse 模塊可完成創(chuàng)建命令行工具的大部分瑣碎工作。optparse 包含在 Python 2.3 中,因此該模塊將包括在許多 *NIX 操作系統(tǒng)中。如果由于某種原因,您使用的操作系統(tǒng)不包含所需要的模塊,那么值得慶幸的是,Python 的最新版本已經(jīng)過測試并編譯到幾乎任何 *NIX 操作系統(tǒng)中。Python 支持的系統(tǒng)包括 IBM? AIX?、HP-UX、Solaris、Free BSD、Red Hat Linux?、Ubuntu、OS X、IRIX,甚至包括幾種 Nokia 手機。
創(chuàng)建 Hello World 命令行工具

編寫優(yōu)秀的命令行工具的第一步是定義要解決的問題。這對您工具的成功至關重要。這對于以盡可能簡單的方法解決問題也同樣重要。這里明確地采用了 KISS(Keep It Simple Stupid,保持簡單)準則。只有在實現(xiàn)并測試了計劃內功能之后才添加選項和增加其他功能。

我們首先從創(chuàng)建 Hello World 命令行工具開始。按照上面的建議,我們使用盡可能簡單的術語來定義問題。

問題定義:我希望創(chuàng)建一個命令行工具,默認打印 Hello World,并提供用于打印不通人的姓名的選項。

基于上述說明,可以提供一個包含少量代碼的解決方案。
Hello World 命令行接口 (CLI)

        

 #!/usr/bin/env python     import optparse          def main():      p = optparse.OptionParser()      p.add_option('--person', '-p', default="world")      options, arguments = p.parse_args()      print 'Hello %s' % options.person          if __name__ == '__main__':      main()

如果運行此代碼,預期的輸出如下:

Hello world

但是,我們通過少量代碼所能做到的遠不止于此。我們可以獲得自動生成的幫助菜單:

python hello_cli.py --help       Usage: hello_cli.py [options]          Options:     -h, --help      show this help message and exit     -p PERSON, --person=PERSON

從幫助菜單中可以了解到,我們可以使用兩種方法來更改 Hello World 的輸出:

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 水城县| 准格尔旗| 星子县| 仲巴县| 丹棱县| 馆陶县| 马山县| 海门市| 南开区| 平定县| 柘城县| 平陆县| 蚌埠市| 萝北县| 垣曲县| 扶风县| 台中市| 昆山市| 凉山| 荥经县| 开阳县| 封开县| 泗阳县| 长治市| 驻马店市| 云浮市| 齐河县| 秦皇岛市| 平度市| 南昌县| 习水县| 皋兰县| 乌拉特后旗| 抚松县| 宜丰县| 二连浩特市| 游戏| 漳州市| 屏南县| 库车县| 望江县|