• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    使用 Python 創建 UNIX 命令行工具

    發布: 2008-6-04 23:05 | 作者: Paul Duvall | 來源: IBM | 查看: 383次 | 進入軟件測試論壇討論

    領測軟件測試網
    如果您在 IT 部門擔任 UNIX® 系統管理員、軟件開發人員甚至是經理,掌握幾項技能將使您與眾不同。您是否對 OSI 模型有充分了解?您對子網劃分是否得心應手?您了解 UNXI 權限嗎?讓我為您的技能背景增添一個不起眼的命令行工具。在本文結束時,在 IT 部門擔任任何職位的讀者都應該至少能創建一個簡單的命令行工具。

    引言

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

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

    設置

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

    創建 Hello World 命令行工具

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

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

    問題定義:我希望創建一個命令行工具,默認打印 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 的輸出:

    python hello_cli.py -p guidoHello guido        

    我們還實現了自動生成的錯誤處理:

    python hello_cli.py --name matzUsage: hello_cli.py [options]          hello_cli.py: error: no such option: --name

    如果您還沒有使用過 Python 的 optparse 模塊,那么您剛才可能會大吃一驚,并思忖使用 Python 可以編寫的所有這些不可思議的工具。如果您剛開始接觸 Python,那么您可能會驚訝于 Python 讓一切變得如此簡單!癤KCD”網站發表了關于“Python 是如此簡單”主題的非常有趣的漫畫,已包括在參考資料中。

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    TAG: python Python Unix 工具 命令 UNIX

    31/3123>

    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>