自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

怎么使用PythonPython創(chuàng)建命令?

開發(fā) 后端
或許大家遇到過Python創(chuàng)建命令,但您能編寫出真正好用的命令行工具嗎?本文討論使用 Python 來創(chuàng)建一個強健的命令行工具。

Python創(chuàng)建命令使其成為一種學習曲線平和的編程語言,有經驗的程序員甚至可能在一天之內就掌握Python的基礎知識,至多不過一周作用就可以上手,而編程語言的專家則肯定。

并帶有內置的幫助菜單、錯誤處理和選項處理。由于一些奇怪的原因,很多人并不了解 Python® 的標準庫具有制作功能極其強大的 *NIX 命令行工具所需的全部工具。 可以這樣說,Python 是制作 *NIX 命令行工具的最佳語言,因為它依照“batteries-included”的哲學方式工作,并且強調提供可讀性高的代碼。

但僅作為提醒,當您發(fā)現使用 Python創(chuàng)建命令行工具是一件多么簡單的事情時,這些想法很危險,您的生活可能被攪得一團糟。據我所知,至今還沒有發(fā)表過詳細說明使用 Python創(chuàng)建命令行工具的文章。

因此我希望您喜歡這篇文章。Python 標準庫中的 optparse 模塊可完成創(chuàng)建命令行工具的大部分瑣碎工作。optparse 包含在 Python 2.3 中,因此該模塊將包括在許多 *NIX 操作系統(tǒng)中。#t#

如果由于某種原因,您使用的操作系統(tǒng)不包含所需要的模塊,那么值得慶幸的是,Python 的最新版本已經過測試并編譯到幾乎任何 *NIX 操作系統(tǒng)中。Python 支持的系統(tǒng)包括 IBM® AIX®、HP-UX、Solaris、Free BSD、Red Hat Linux®、Ubuntu、OS X、IRIX,甚至包括幾種 Nokia 手機。

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

我們首先從創(chuàng)建 Hello World 命令行工具開始。按照上面的建議,我們使用盡可能簡單的術語來定義問題。問題定義:我希望創(chuàng)建一個命令行工具,默認打印 Hello World,并提供用于打印不通人的姓名的選項。 基于上述說明,可以提供一個包含少量代碼的解決方案。

Hello World 命令行接口 (CLI):

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

但是,我們通過少量PPython創(chuàng)建命令所能做到的遠不止于此。我們可以獲得自動生成的幫助菜單。在這里,我們終于看到了Python中多線程機制的平臺相關性,在Python25\Python目錄下,有一大批thread_***.h這樣的文件,在這些文件中。

包裝了不同操作系統(tǒng)的原生線程,并通過統(tǒng)一的接口暴露給Python,比如這里的PyThread_allocate_lock就是這樣一個接口。我們這里的thread_nt.h中包裝的是Win32平臺的原生thread,在本章中后面的代碼剖析中,還會有大量與平臺相關的代碼,我們都以Win32平臺為例。

責任編輯:chenqingxiang 來源: 人民郵電出版社
相關推薦

2014-05-12 16:40:13

Linux命令快照

2020-09-22 07:29:14

Linux stat

2018-01-15 14:59:35

Linux命令交換分區(qū)

2009-12-23 10:58:58

Linux創(chuàng)建文件命令

2009-12-23 10:58:58

Linux創(chuàng)建文件命令

2009-08-04 09:53:21

linux創(chuàng)建文件命令tail命令自解壓

2010-11-16 11:46:03

oracle命令行

2022-09-27 13:07:41

clickPython命令行

2019-07-29 10:56:32

Linuxuseradd命令創(chuàng)建用戶賬號

2013-12-20 10:20:34

2009-08-04 09:42:09

linux創(chuàng)建文件命令ddlinux

2020-10-10 19:14:09

FlutterApp軟件開發(fā)

2021-06-10 07:59:40

Linux 系統(tǒng)硬件操作系統(tǒng)

2009-08-04 09:37:34

Linux創(chuàng)建文件命令Linux創(chuàng)建文件命令

2012-05-10 08:55:11

Linuxuniq

2009-04-23 13:19:21

創(chuàng)建XMLXML文件Javascript

2015-04-20 10:06:37

PHP Rust 創(chuàng)建PHP 擴展

2009-08-03 12:02:13

linux at命令linux at命令詳使用案例

2023-04-05 08:33:10

2010-02-07 13:52:45

Ubuntu deb
點贊
收藏

51CTO技術棧公眾號