在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ Python/ Python 標(biāo)準(zhǔn)庫
備份腳本——版本四
使用 <strong>init</strong> 方法
控制流
異常
表 15.1 一些特殊的方法
如何創(chuàng)建你自己的模塊
使用字典
前言
使用默認(rèn)參數(shù)值
表 5.1 運(yùn)算符與它們的用法
解決問題——編寫一個(gè) Python 腳本
使用 for 語句
使用 continue 語句
使用元組輸出
對(duì)象與參考
使用函數(shù)形參
使用默認(rèn)參數(shù)值
使用 if 語句
如何引發(fā)異常
使用源文件
使用對(duì)象的方法
使用表達(dá)式
定義函數(shù)
使用局部變量
使用列表綜合
使用 sys.argv
使用 lambda 形式
使用 global 語句
備份腳本——版本二
使用列表
使用 while 語句
備份腳本——版本一
使用元組
輸入/輸出
使用類與對(duì)象的變量
使用 sys 模塊
表 5.2 運(yùn)算符優(yōu)先級(jí)
處理異常
使用 break 語句
函數(shù)
基本概念
運(yùn)算符與表達(dá)式
介紹
使用文件
使用序列
接下來學(xué)習(xí)什么?
使用帶提示符的 Python 解釋器
使用 DocStrings
使用字面意義上的語句
最初的步驟
數(shù)據(jù)結(jié)構(gòu)
儲(chǔ)存與取儲(chǔ)存
使用 dir 函數(shù)
模塊
Python 標(biāo)準(zhǔn)庫
備份腳本——版本三(不工作?。?/span>
創(chuàng)建一個(gè)類
安裝 Python
面向?qū)ο蟮木幊?/span>
使用模塊的<strong>name</strong>
使用變量和字面意義上的常量
使用繼承

Python 標(biāo)準(zhǔn)庫

簡(jiǎn)介

Python 標(biāo)準(zhǔn)庫是隨 Python 附帶安裝的,它包含大量極其有用的模塊。熟悉 Python 標(biāo)準(zhǔn)庫是十分重要的,因?yàn)槿绻闶煜み@些庫中的模塊,那么你的大多數(shù)問題都可以簡(jiǎn)單快捷地使用它們來解決。

我們已經(jīng)研究了一些這個(gè)庫中的常用模塊。你可以在 Python 附帶安裝的文檔的“庫參考”一節(jié)中了解 Python 標(biāo)準(zhǔn)庫中所有模塊的完整內(nèi)容。

sys 模塊

sys 模塊包含系統(tǒng)對(duì)應(yīng)的功能。我們已經(jīng)學(xué)習(xí)了 sys.argv 列表,它包含命令行參數(shù)。

命令行參數(shù)

例 14.1 使用 sys.argv


    #!/usr/bin/python
    # Filename: cat.py

    import sys

    def readfile(filename):
    '''Print a file to the standard output.'''
    f = file(filename)
    while True:
    line = f.readline()
    if len(line) == 0:
    break
    print line, # notice comma
    f.close()

    # Script starts from here
    if len(sys.argv) < 2:
    print 'No action specified.'
    sys.exit()

    if sys.argv[1].startswith('--'):
    option = sys.argv[1][2:]
    # fetch sys.argv[1] but without the first two characters
    if option == 'version':
    print 'Version 1.2'
    elif option == 'help':
    print '''\
    This program prints files to the standard output.
    Any number of files can be specified.
    Options include:
      --version : Prints the version number
      --help: Display this help'''
    else:
    print 'Unknown option.'
    sys.exit()
    else:
    for filename in sys.argv[1:]:
    readfile(filename)

(源文件:code/cat.py

輸出


    $ python cat.py
    No action specified.

    $ python cat.py --help
    This program prints files to the standard output.
    Any number of files can be specified.
    Options include:
      --version : Prints the version number
      --help    : Display this help

    $ python cat.py --version
    Version 1.2

    $ python cat.py --nonsense
    Unknown option.

    $ python cat.py poem.txt
    Programming is fun
    When the work is done
    if you wanna make your work also fun:
            use Python!

它如何工作

這個(gè)程序用來模范 Linux/Unix 用戶熟悉的 cat 命令。你只需要指明某些文本文件的名字,這個(gè)程序會(huì)把它們打印輸出。

在 Python 程序運(yùn)行的時(shí)候,即不是在交互模式下,在 sys.argv 列表中總是至少有一個(gè)項(xiàng)目。它就是當(dāng)前運(yùn)行的程序名稱,作為 sys.argv[0](由于 Python 從 0 開始計(jì)數(shù))。其他的命令行參數(shù)在這個(gè)項(xiàng)目之后。

為了使這個(gè)程序?qū)τ脩舾佑押?,我們提供了一些用戶可以指定的選項(xiàng)來了解更多程序的內(nèi)容。我們使用第一個(gè)參數(shù)來檢驗(yàn)我們的程序是否被指定了選項(xiàng)。如果使用了--version 選項(xiàng),程序的版本號(hào)將被打印出來。類似地,如果指定了--help 選項(xiàng),我們提供一些關(guān)于程序的解釋。我們使用 sys.exit 函數(shù)退出正在運(yùn)行的程序。和以往一樣,你可以看一下 help(sys.exit)來了解更多詳情。

如果沒有指定任何選項(xiàng),而是為程序提供文件名的話,它就簡(jiǎn)單地打印出每個(gè)文件地每一行,按照命令行中的順序一個(gè)文件接著一個(gè)文件地打印。

順便說一下,名稱 cat 是 concatenate 的縮寫,它基本上表明了程序的功能——它可以在輸出打印一個(gè)文件或者把兩個(gè)或兩個(gè)以上文件連接/級(jí)連在一起打印。

更多 sys 的內(nèi)容

sys.version 字符串給你提供安裝的 Python 的版本信息。sys.version_info 元組則提供一個(gè)更簡(jiǎn)單的方法來使你的程序具備 Python 版本要求功能。


    [swaroop@localhost code]$ python
    >>> import sys
    >>> sys.version
    '2.3.4 (#1, Oct 26 2004, 16:42:40) \n[GCC 3.4.2 20041017 (Red Hat 3.4.2-6.fc3)]'
    >>> sys.version_info
    (2, 3, 4, 'final', 0)

對(duì)于有經(jīng)驗(yàn)的程序員,sys 模塊中其他令人感興趣的項(xiàng)目有 sys.stdin、sys.stdout 和 sys.stderr 它們分別對(duì)應(yīng)你的程序的標(biāo)準(zhǔn)輸入、標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯(cuò)誤流。

os 模塊

這個(gè)模塊包含普遍的操作系統(tǒng)功能。如果你希望你的程序能夠與平臺(tái)無關(guān)的話,這個(gè)模塊是尤為重要的。即它允許一個(gè)程序在編寫后不需要任何改動(dòng),也不會(huì)發(fā)生任何問題,就可以在 Linux 和 Windows 下運(yùn)行。一個(gè)例子就是使用 os.sep 可以取代操作系統(tǒng)特定的路徑分割符。

下面列出了一些在 os 模塊中比較有用的部分。它們中的大多數(shù)都簡(jiǎn)單明了。

  • os.name 字符串指示你正在使用的平臺(tái)。比如對(duì)于 Windows,它是'nt',而對(duì)于 Linux/Unix 用戶,它是'posix'。

  • os.getcwd()函數(shù)得到當(dāng)前工作目錄,即當(dāng)前 Python 腳本工作的目錄路徑。

  • os.getenv()和 os.putenv()函數(shù)分別用來讀取和設(shè)置環(huán)境變量。

  • os.listdir()返回指定目錄下的所有文件和目錄名。

  • os.remove()函數(shù)用來刪除一個(gè)文件。

  • os.system()函數(shù)用來運(yùn)行 shell 命令。

  • os.linesep 字符串給出當(dāng)前平臺(tái)使用的行終止符。例如,Windows 使用'\r\n',Linux 使用'\n'而 Mac 使用'\r'。

  • os.path.split()函數(shù)返回一個(gè)路徑的目錄名和文件名。

    >>> os.path.split('/home/swaroop/byte/code/poem.txt')
    ('/home/swaroop/byte/code', 'poem.txt')
  • os.path.isfile()和 os.path.isdir()函數(shù)分別檢驗(yàn)給出的路徑是一個(gè)文件還是目錄。類似地,os.path.existe()函數(shù)用來檢驗(yàn)給出的路徑是否真地存在。

你可以利用 Python 標(biāo)準(zhǔn)文檔去探索更多有關(guān)這些函數(shù)和變量的詳細(xì)知識(shí)。你也可以使用 help(sys)等等。

概括

我們已經(jīng)學(xué)習(xí)了 Python 標(biāo)準(zhǔn)庫中的 sys 模塊和 os 模塊的一部分功能。你應(yīng)該利用 Python 標(biāo)準(zhǔn)文檔去學(xué)習(xí)這兩個(gè)模塊以及其他模塊的更多內(nèi)容。

接下來,我們將要學(xué)習(xí) Python 中剩余的幾個(gè)方面的內(nèi)容,從而使我們的 Python 課程更加 完整 。

上一篇:控制流下一篇:使用 for 語句