本文大綱
os模塊是Python中整理文件和目錄最為常用的模塊,該模塊提供了非常豐富的方法用來處理文件和目錄。本着只講最有用
的態度,下方我將os模塊中一些我經常用的的方法,給大家詳細列舉出來了,希望減少大家的學習負擔
。
知識串講
1)模塊的安裝和導入
1 # 導入 2 import os
2)os.getcwd()
- 作用:獲取當前的工作路徑;
1 os.getcwd()
結果如下:
3)os.listdir(path)
- 作用:傳入任意一個path路徑,返回的是該路徑下所有
文件和目錄
組成的列表;
1 path = r"C:\Users\黃偉\Desktop\publish\os模塊\test_os模塊" 2 os.listdir(path)
結果如下:
3)os.walk(path)
- 含義 :傳入任意一個path路徑,深層次遍歷指定路徑下的所有子文件夾,返回的是一個由路徑、文件夾列表、文件列表組成的元組。我代碼中寫的方式屬於
元組拆包
; 元組拆包
:就是將一個元組中的每個值,賦值給不同的變量;
1 path = r"C:\Users\黃偉\Desktop\publish\os模塊\test_os模塊" 2 for path,dirs,files in os.walk(path): 3 print(path) 4 print(dirs) 5 print(files) 6 print("\n")
結果如下:
4)os.path.exists(path)
- 含義:傳入一個path路徑,判斷指定路徑下的目錄是否存在。存在返回True,否則返回False;
1 path1 = 'C:\\Users\\黃偉\\Desktop\\publish\\os模塊\\huang_wei' 2 3 if os.path.exists(path1): 4 print("指定文件夾存在") 5 else: 6 print("指定文件夾不存在")
結果如下:
5)os.mkdir(path)
- 含義:傳入一個path路徑,創建單層(單個)文件夾;
- 注意:如果文件夾已經存在,就會報錯。因此創建文件夾之前,需要使用os.path.exists(path)函數判斷文件夾是否存在;
1 os.getcwd() 2 path1 = os.getcwd()+"\\huang_wei" 3 os.mkdir(path1)
結果如下:
6)os.makedirs(path)
- 含義:傳入一個path路徑,生成一個遞歸的文件夾;
- 注意:如果文件夾存在,就會報錯。因此創建文件夾之前,需要使用os.path.exists(path)函數判斷文件夾是否存在;
1 os.getcwd() 2 path1 = os.getcwd()+"\\huang_wei" 3 os.mkdir(path1)
結果如下:
7)os.rmdir(path)
- 含義:傳入一個path路徑,刪除指定路徑下的文件夾;
- 注意:該方法只能刪除空文件夾,刪除非空文件夾會報錯;
1 path1 = os.getcwd()+"\\huang_wei" 2 os.rmdir(path1) 3 ---------------------------------- 4 path2 = os.getcwd()+"\\a\\b\\c" 5 os.rmdir(path2)
結果如下:
8)os.path.join(path1,path2)
- 含義:傳入兩個path路徑,將該路徑拼接起來,形成一個新的完整路徑;
1 path = os.getcwd() 2 lis = ["a.jpg","b.jpg","c.jpg"] 3 for i in lis: 4 x = os.path.join(path,i) 5 print(x)
結果如下:
9)os.path.split(path)
- 含義:傳入一個完整的path路徑,將其拆分為
絕對路徑
和文件名
2部分;
1 path1 = r"C:\Users\黃偉\Desktop\publish\os模塊\a.jpg" 2 os.path.split(path1)
結果如下:
10)os.path.dirname(path)
- 含義:傳入一個完整的文件路徑,只獲取其絕對路徑;
1 path1 = r"C:\Users\黃偉\Desktop\publish\os模塊\a.jpg" 2 os.path.dirname(path1)
結果如下:
11)os.path.basename(path)
- 含義:傳入一個完整的文件路徑,只獲取其文件名;
1 path1 = r"C:\Users\黃偉\Desktop\publish\os模塊\a.jpg" 2 os.path.basename(path1)
結果如下:
12)os.path.isdir(path)
- 含義:傳入一個完整的文件路徑,判斷它是否是文件夾;
1 path = os.getcwd() 2 file_list = os.listdir() 3 for file in file_list: 4 if os.path.isdir(file): 5 print(file)
結果如下:
13)os.path.isfile(path)
- 含義:傳入一個完整的文件路徑,判斷它是否是文件;
1 path = os.getcwd() 2 file_list = os.listdir() 3 for file in file_list: 4 if os.path.isfile(file): 5 print(file)
結果如下:
14)os.path.sep
- 含義:返回當前操作系統的路徑分隔符;
1 os.path.sep
結果如下:
15)os.path.getsize(path)
- 含義:傳入一個完整的文件路徑,返回該文件的大小;
1 os.path.getsize("我創建的壓縮包.zip")
結果如下: