OS模塊提供了很多與操作系統進行交互的函數,比如常見的使用函數有獲取當前工作目錄:os.getcwd();修改當前工作目錄:os.chdir(),在系統執行command命令:os.system()。既然是對操作系統的交互,操作系統常見的就有多種,比如unix和windows的。OS模塊里有些函數就是只有unix能使用,比如返回父進程的進程id:getppid();有些是unix和windows的都能使用,比如:獲取當前進程id:getpid()。這些在官方文檔都有說明,如下:
os.getpid()
Returnthecurrentprocessid.
Availability:Unix,Windows.
os.getppid()
Returntheparent’sprocessid.
Availability:Unix.
OS模塊確實實用性比較強,在編寫自動化測試腳本的時候,有時候也能使用到。就簡答說下我使用過的應用場景吧。有時候跑自動化的時候,一些配置文件可能需要重新修改,這時工具遠程連接到服務器后,需要讓服務器自動替換文件,再重啟服務,so~~os模塊應用上場了。OS模塊主要實現了以下三大功能:進程的管理,操作系統的管理,文件和目錄的管理。基于文件的操作,實際python的bulit-in模塊也有個open函數,os也有open函數,但是兩者之間是有區別的,os的open打開文檔后,沒有拿到當前文件的對象,返回的是一個整型數值,不便于后面對文檔的各種操作。而內置庫提供的open函數,返回的是文件的對象。
如果每天要對文件和目錄進行管理,推薦使用shutil模塊,這個模塊提供了更多方便的接口對文件,目錄進行管理(復制文件或者目錄,刪除文件或者目錄)。比如如果要刪除文件,如果繼續使用os,則os.system('rf-rm/build/executables/installdir'),使用shutil模塊,就簡單了:shutil.move('/build/executables','installdir')。
文件通配符:glob模塊
glob模塊提供了一個函數用于從目錄通配符搜索中生成文件列表。如果,從當前目錄中,搜素所有的.PY文件。之前在我不知道glob模塊時,我用的是os.path模塊實現的。
os.path.splitext(file)[1]=='.py'
現在使用glob模塊,可以更靈活的進行處理:
>>>importglob
>>>glob.glob('*.py')
['primes.py','random.py','quote.py']
以上內容為大家介紹了python操作系統接口模塊:OS,希望對大家有所幫助,如果想要了解更多Python相關知識,請關注IT培訓機構:千鋒教育。