python學習之路- 標準庫

        Python 標準庫是隨 Python 附帶安裝的,它包含大量極其有用的模塊。熟悉 Python 標準庫是十分重要的,

因爲如果你熟悉這些庫中的模塊,那麼你的大多數問題都可以簡單快捷地使用它們來解決。

sys 模塊

sys 模塊包含系統對應的功能。它包含命令行參數,系統信息、標準輸入、標準輸出和標準錯誤流等。

命令行參數

#!/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)
輸出:
horst@debian:~/horstdemo/python$ python ./sys_cat.py
No action specified.
horst@debian:~/horstdemo/python$ python ./sys_cat.py poem.txt
Programming is fun
When the work is done
if you wanna make your work also fun:
use Python!
  爲了使這個程序對用戶更加友好,我們提供了一些用戶可以指定的選項來了解更多程序的內容。我們
使用第一個參數來檢驗我們的程序是否被指定了選項。如果使用了--version 選項,程序的版本號將被打印
出來。類似地,如果指定了--help 選項,我們提供一些關於程序的解釋。我們使用 sys.exit 函數退出正在運
行的程序。和以往一樣,你可以看一下 help(sys.exit)來了解更多詳情。
  如果沒有指定任何選項,而是爲程序提供文件名的話,它就簡單地打印出每個文件地每一行,按照命
令行中的順序一個文件接着一個文件地打印。
  順便說一下,名稱 cat 是 concatenate 的縮寫,它基本上表明瞭程序的功能——它可以在輸出打印一個
文件或者把兩個或兩個以上文件連接/級連在一起打印。

os 模塊

  這個模塊包含普遍的操作系統功能。如果你希望你的程序能夠與平臺無關的話,這個模塊是尤爲重要
的。即它允許一個程序在編寫後不需要任何改動,也不會發生任何問題,就可以在 Linux 和 Windows 下運
行。一個例子就是使用 os.sep 可以取代操作系統特定的路徑分割符。
  下面列出了一些在 os 模塊中比較有用的部分。它們中的大多數都簡單明瞭。
  os.name 字符串指示你正在使用的平臺。         比如對於 Windows,它是'nt',
                                                    而對於 Linux/Unix 用戶,   它是'posix'。
  os.getcwd()函數得到當前工作目錄,即當前 Python 腳本工作的目錄路徑。
  os.getenv()和 os.putenv()函數分別用來讀取和設置環境變量。
  os.listdir()返回指定目錄下的所有文件和目錄名。
  os.remove()函數用來刪除一個文件。
  os.system()函數用來運行 shell 命令。
                                          Windows 使用'\r\n',Linux 使用'\n'而 Mac 使用'\r'。
  os.linesep 字符串給出當前平臺使用的行終止符。       例如,
  os.path.split()函數返回一個路徑的目錄名和文件名。
  os.path.isfile()和 os.path.isdir()函數分別檢驗給出的路徑是一個文件還是目錄。類似地,os.path.existe()
函數用來檢驗給出的路徑是否真地存在。
  你可以利用 Python 標準文檔去探索更多有關這些函數和變量的詳細知識。你也可以使用 help(sys)等等。

概括

  我們已經學習了 Python 標準庫中的 sys 模塊和 os 模塊的一部分功能。你應該利用 Python 標準文檔去
學習這兩個模塊以及其他模塊的更多內容。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章