偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

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

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

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

并帶有內(nèi)置的幫助菜單、錯(cuò)誤處理和選項(xiàng)處理。由于一些奇怪的原因,很多人并不了解 Python® 的標(biāo)準(zhǔn)庫(kù)具有制作功能極其強(qiáng)大的 *NIX 命令行工具所需的全部工具。 可以這樣說(shuō),Python 是制作 *NIX 命令行工具的最佳語(yǔ)言,因?yàn)樗勒铡癰atteries-included”的哲學(xué)方式工作,并且強(qiáng)調(diào)提供可讀性高的代碼。

但僅作為提醒,當(dāng)您發(fā)現(xiàn)使用 Python創(chuàng)建命令行工具是一件多么簡(jiǎn)單的事情時(shí),這些想法很危險(xiǎn),您的生活可能被攪得一團(tuán)糟。據(jù)我所知,至今還沒(méi)有發(fā)表過(guò)詳細(xì)說(shuō)明使用 Python創(chuàng)建命令行工具的文章。

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

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

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

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

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()  

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

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

責(zé)任編輯:chenqingxiang 來(lái)源: 人民郵電出版社
相關(guān)推薦

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)建文件命令

2022-09-27 13:07:41

clickPython命令行

2010-11-16 11:46:03

oracle命令行

2009-08-04 09:53:21

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

2019-07-29 10:56:32

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

2013-12-20 10:20:34

2009-08-04 09:42:09

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

2020-10-10 19:14:09

FlutterApp軟件開(kāi)發(fā)

2009-08-04 09:37:34

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

2021-06-10 07:59:40

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

2012-05-10 08:55:11

Linuxuniq

2009-08-03 12:02:13

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

2023-04-05 08:33:10

2015-04-20 10:06:37

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

2009-04-23 13:19:21

創(chuàng)建XMLXML文件Javascript

2010-02-07 13:52:45

Ubuntu deb
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)