python 模塊初識

python的強大之處在於有豐富的實現各類功能的標準庫和第三方庫,另外還容許用戶本身創建庫文件,html

標準模塊(又稱爲庫)包括sys, os, glob, socket, threading, _thread, queue, time, timeit, subprocess, multiprocessing, signal, select, shutil, tempfile等。python

大多數系統級接口集中在:sys和os兩個模塊。socket

下面將簡單介紹sys和os模塊:函數

sys模塊

    平臺與版本的信息,如sys.platform, sys.maxsize, sys.version
    模塊搜索路徑sys.path
    模塊表sys.modules,這是一個包含Python程序中import進來的模塊的name:module信息的字典
    異常信息,如sys.exc_info()
    命令行參數sys.argv
    標準流,如sys.stdin, sys.stdout, sys.stderr
    程序退出調用sys.exitspa

 1 #!/usr/bin/env python
 2 # file_name: test_sys.py
 3 
 4 import sys          # 導入模塊
 5 print(sys.path)     # 輸出模塊搜索路徑
 6 
 7 print(sys.argv)     # sys.argv 實現接收外部傳遞的參數,包括文件名
 8 print(sys.argv[0])  # 腳本的名稱老是sys.argv列表的第一個參數,即爲argv[0] 
 9 print(sys.argv[1])  # 其餘參數依次爲argv[1]
10 print(sys.argv[2])  # argv[2]
11 print(sys.argv[3])  # argv[3]

終端執行:操作系統

python test_sys.py I love python

運行結果.net

['e:\\vscode_pragram\\Python3\\Python基礎\\day2\\代碼', 'C:\\software\\Python\\Python35-32\\python35.zip', 'C:\\software\\Python\\Python35-32\\DLLs', 'C:\\software\\Python\\Python35-32\\lib', 'C:\\software\\Python\\Python35-32', 'C:\\software\\Python\\Python35-32\\lib\\site-packages']
['sys_test.py', 'i', 'love', 'python']
sys_test.py
I
love
python

 

os模塊命令行

 Python os模塊包含廣泛的操做系統功能。若是你但願你的程序可以與平臺無關的話,這個模塊是尤其重要的。若是咱們要操做文件、目錄,能夠在命令行下面輸入操做系統提供的各類命令來完成。好比dir、cp等命令。其實操做系統提供的命令只是簡單地調用了操做系統提供的接口函數,Python內置的os模塊也能夠直接調用操做系統提供的接口函數。code

#!/usr/bin/env python
# file_name: os_test.py

import os

os.system("dir")    # 列出當前文件夾下的文件名稱
                    # 該方法不能利用變量保存下來,及調用時當即打印
# 打算利用dir_req保存列出的文件名稱信息,可是結果並非那麼回事,請看
dir_req = os.system("dir")
print("--->", dir_req)

終端輸出:orm

驅動器 E 中的卷沒有標籤。
 卷的序列號是 000D-4517

 e:\vscode_pragram\Python3\Python基礎\day2\代碼 的目錄

2017/04/15  09:51    <DIR>          .
2017/04/15  09:51    <DIR>          ..
2017/04/15  09:58               184 os_test.py
2017/04/15  09:44               180 sys_test.py
               2 個文件            364 字節
               2 個目錄 60,183,629,824 可用字節
---> 0
最後輸出了 --->0 ,說明dir_req爲0,也就是說當os.system("dir")運行成功返回0,不成功返回錯誤代碼
 
若是須要保存信息,將利用 popen 方法,以下:
#!/usr/bin/env python
# file_name: os_test2.py
dir_req = os.popen("dir")   # dir_req 返回一個文件描述符號爲fd的打開的文件對象
print(dir_req)              # 將該文件描述符打印到屏幕
print("\n")                 
print(dir_req.read())       # 利用read方法讀取該文件描述符的內容

終端輸出:

<os._wrap_close object at 0x01B1B7B0>


 驅動器 E 中的卷沒有標籤。
 卷的序列號是 000D-4517

 e:\vscode_pragram\mine\Python3\Python基礎\day2\代碼 的目錄

2017/04/15  09:51    <DIR>          .
2017/04/15  09:51    <DIR>          ..
2017/04/15  10:03               269 os_test.py
2017/04/15  09:44               180 sys_test.py
               2 個文件            449 字節
               2 個目錄 60,183,629,824 可用字節

 

---------------------------------------------------------------------------------------

python sys模塊全部方法(英文):https://docs.python.org/3/library/sys.html

python os模塊全部方法:http://www.runoob.com/python/os-file-methods.html

os.popen方法: http://www.runoob.com/python/os-popen.html

相關文章
相關標籤/搜索