Python 使用sys模塊

 

 

你已經學習瞭如何在你的程序中定義一次函數而重用代碼。若是你想要在其餘程序中重用不少函數,那麼你該如何編寫程序呢?你可能已經猜到了,答案是使用模塊。模塊基本上就是一個包含了全部你定義的函數和變量的文件。爲了在其餘程序中重用模塊,模塊的文件名必須以.py爲擴展名。

模塊能夠從其餘程序 輸入 以便利用它的功能。這也是咱們使用Python標準庫的方法。首先,咱們將學習如何使用標準庫模塊。
使用sys模塊

例8.1 使用sys模塊

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

import sys

print 'The command line arguments are:'
for i in sys.argv:
print i

print '\n\nThe PYTHONPATH is', sys.path, '\n' 

(源文件:code/using_sys.py)
輸出

$ python using_sys.py we are arguments
The command line arguments are:
using_sys.py
we
are
arguments


The PYTHONPATH is ['/home/swaroop/byte/code', '/usr/lib/python23.zip',
'/usr/lib/python2.3', '/usr/lib/python2.3/plat-linux2',
'/usr/lib/python2.3/lib-tk', '/usr/lib/python2.3/lib-dynload',
'/usr/lib/python2.3/site-packages', '/usr/lib/python2.3/site-packages/gtk-2.0']
它如何工做

首先,咱們利用import語句 輸入 sys模塊。基本上,這句語句告訴Python,咱們想要使用這個模塊。sys模塊包含了與Python解釋器和它的環境有關的函數。

當Python執行import sys語句的時候,它在sys.path變量中所列目錄中尋找sys.py模塊。若是找到了這個文件,這個模塊的主塊中的語句將被運行,而後這個模塊將可以被你 使用 。注意,初始化過程僅在咱們 第一次 輸入模塊的時候進行。另外,「sys」是「system」的縮寫。

sys模塊中的argv變量經過使用點號指明——sys.argv——這種方法的一個優點是這個名稱不會與任何在你的程序中使用的argv變量衝突。另外,它也清晰地代表了這個名稱是sys模塊的一部分。

sys.argv變量是一個字符串的 列表 (列表會在後面的章節詳細解釋)。特別地,sys.argv包含了 命令行參數 的列表,即便用命令行傳遞給你的程序的參數。

若是你使用IDE編寫運行這些程序,請在菜單裏尋找一個指定程序的命令行參數的方法。

這裏,當咱們執行python using_sys.py we are arguments的時候,咱們使用python命令運行using_sys.py模塊,後面跟着的內容被做爲參數傳遞給程序。Python爲咱們把它存儲在sys.argv變量中。

記住,腳本的名稱老是sys.argv列表的第一個參數。因此,在這裏,'using_sys.py'是sys.argv[0]、'we'是sys.argv[1]、'are'是sys.argv[2]以及'arguments'是sys.argv[3]。注意,Python從0開始計數,而非從1開始。

sys.path包含輸入模塊的目錄名列表。咱們能夠觀察到sys.path的第一個字符串是空的——這個空的字符串表示當前目錄也是sys.path的一部分,這與PYTHONPATH環境變量是相同的。這意味着你能夠直接輸入位於當前目錄的模塊。不然,你得把你的模塊放在sys.path所列的目錄之一。python

相關文章
相關標籤/搜索