python os模組使用

2021-07-26 14:36:32 字數 1998 閱讀 9050

os模組提供了很多對系統直接操作的方法,實現對目錄的操作。 例如

import os

os.mkdir("root")#建立乙個root目錄,但不能聯級建立

os.makedir('/a/b/c')#可以級聯建立相當於linux中的mkdir -p

os.rmdir(目錄)#刪除目錄,不能刪除有內容的目錄

os.removedirs(目錄)#強制刪除目錄

os.listdir('.')#獲取當前目錄列表,已列表的方式返回os.listdir('/')獲取根目錄下的目錄檔案

os.getcwd()#獲取當前路徑

os.chdir(路徑)#切換目錄,相當於cd

os.isdir(path)#判斷是否為目錄

目錄遍歷os.walk(path))#會返回乙個元組,其中裡面有3個元素,這3個元素分別表示每次遍歷的路徑名,

目錄列表,和檔案列表

>>> os.getcwd()

'/daixiangzi/code/dir_123'

>>> g=os.walk(os.getcwd())#返回的是乙個元組(元組不可改變)

>>> g.next()

('/daixiangzi/code/dir_123', ['dir_2', 'dir_3'], ['file1'])#(路徑名,當前路徑下目錄,當前路徑下面的檔案)

>>> g.next()

('/daixiangzi/code/dir_123/dir_2', , ['3', '3.3', '2', '2.2', '1'])

>>> g.next()

('/daixiangzi/code/dir_123/dir_3', , )

>>> g.next()

某個目錄下所有檔案的絕對路徑:

>>> os.getcwd()

'/daixiangzi/code/dir_123'

>>> g=os.walk(os.getcwd())

>>> for path,dir,filelist in g:#這裡是乙個技巧,元組拆分賦值

...     for filename in filelist: #對檔案列表的檔案進行遍歷

...             os.path.join(path,filename)

...'/daixiangzi/code/dir_123/dir_2/3'

'/daixiangzi/code/dir_123/dir_2/3.3'

'/daixiangzi/code/dir_123/dir_2/2'

'/daixiangzi/code/dir_123/dir_2/2.2'

'/daixiangzi/code/dir_123/dir_2/1'

異常處理

try:

except 錯誤型別,msg:   

#其中msg是接收了錯誤資訊 語句

錯誤型別:

nameerror:嘗試訪問乙個未申明的變數

zerodivisionerror:除數為0

syntaxerror:語法錯誤

indexerror:索引超出範圍

keyerror:字典關鍵字不存在

ioerror:輸入輸出錯誤

attributeerror:訪問未知物件屬性

valueerror:數值錯誤

typeerror:型別錯誤

assertionerror:斷言錯誤

memoryerror:記憶體耗盡異常

notimplementederror:方法沒實現引起的異常

例子:try:

open('dad')

except ioerror,msg:

print msg

except  nameerror ,e:

print "ok"

finally: #(不管是否有異常,下面的語句都要執行)

print "hello"

丟擲異常raise

raise typeerror("nothing!!!!")

python os模組使用

os.sep 可以取代作業系統 特定的路徑分割符 os.linesep 字串給出當前平台使用的行終止符。例如,windows使用 r n linux使用 n 而mac使用 r os.name 字串指示你正在使用的平台。比如對於windows,它是 nt 而對於linux unix使用者,它是 pos...

python os模組使用

python中對檔案 資料夾 檔案操作函式 的操作需要涉及到os模組和shutil模組。得到當前工作目錄,即當前python指令碼工作的目錄路徑 os.getcwd 返回指定目錄下的所有檔案和目錄名 os.listdir 函式用來刪除乙個檔案 os.remove 刪除多個目錄 os.removedi...

Python os模組 簡單使用

利用python 列出檔案下的所有檔案 方法1 使用os.listdir 模組 import os for filename in os.listdir 路徑 print filename 方法2 使用glob模組 import glob for filename in glob.glob home...