Python模塊 | 這份os模塊知識(shí)詳解,太牛逼!
本文大綱
os模塊是Python標(biāo)準(zhǔn)庫中整理文件和目錄最為常用的模塊,該模塊提供了非常豐富的方法用來處理文件和目錄。本著只講最有用的態(tài)度,下方我將os模塊中一些我常用的的方法,給大家詳細(xì)列舉出來了,希望減少大家的學(xué)習(xí)負(fù)擔(dān)。

知識(shí)串講
1)模塊導(dǎo)入
#?導(dǎo)入
import?os2)os.getcwd()
作用:獲取當(dāng)前的工作路徑;
os.getcwd()結(jié)果如下:

3)os.listdir(path)
作用:傳入任意一個(gè)path路徑,返回的是該路徑下所有 文件和目錄組成的列表;
path?=?r"C:\Users\黃偉\Desktop\publish\os模塊\test_os模塊"
os.listdir(path)結(jié)果如下:

3)os.walk(path)
含義 :傳入任意一個(gè)path路徑,深層次遍歷指定路徑下的所有子文件夾,返回的是一個(gè)由路徑、文件夾列表、文件列表組成的元組。我代碼中寫的方式屬于 元組拆包;元組拆包:就是將一個(gè)元組中的每個(gè)值,賦值給不同的變量;
path?=?r"C:\Users\黃偉\Desktop\publish\os模塊\test_os模塊"
for?path,dirs,files?in?os.walk(path):
????print(path)
????print(dirs)
????print(files)
????print("\n")結(jié)果如下:

4)os.path.exists(path)
含義:傳入一個(gè)path路徑,判斷指定路徑下的目錄是否存在。存在返回True,否則返回False。
path1?=?'C:\\Users\\黃偉\\Desktop\\publish\\os模塊\\huang_wei'
if?os.path.exists(path1):
????print("指定文件夾存在")
else:
????print("指定文件夾不存在")結(jié)果如下:

5)os.mkdir(path)
含義:傳入一個(gè)path路徑,創(chuàng)建單層(單個(gè))文件夾; 注意:如果文件夾已經(jīng)存在,就會(huì)報(bào)錯(cuò)。因此創(chuàng)建文件夾之前,需要使用os.path.exists(path)函數(shù)判斷文件夾是否存在;
os.getcwd()
path1?=?os.getcwd()+"\\huang_wei"
os.mkdir(path1)結(jié)果如下:

6)os.makedirs(path)
含義:傳入一個(gè)path路徑,生成一個(gè)遞歸的文件夾; 注意:如果文件夾存在,就會(huì)報(bào)錯(cuò)。因此創(chuàng)建文件夾之前,需要使用os.path.exists(path)函數(shù)判斷文件夾是否存在;
os.getcwd()
path1?=?os.getcwd()+"\\huang_wei"
os.mkdir(path1)結(jié)果如下:

7)os.rmdir(path)
含義:傳入一個(gè)path路徑,刪除指定路徑下的文件夾; 注意:該方法只能刪除空文件夾,刪除非空文件夾會(huì)報(bào)錯(cuò);
path1?=?os.getcwd()+"\\huang_wei"
os.rmdir(path1)
----------------------------------
path2?=?os.getcwd()+"\\a\\b\\c"
os.rmdir(path2)?結(jié)果如下:

8)os.path.join(path1,path2)
含義:傳入兩個(gè)path路徑,將該路徑拼接起來,形成一個(gè)新的完整路徑;
path?=?os.getcwd()
lis?=?["a.jpg","b.jpg","c.jpg"]
for?i?in?lis:
????x?=?os.path.join(path,i)
????print(x)結(jié)果如下:

9)os.path.split(path)
含義:傳入一個(gè)完整的path路徑,將其拆分為 絕對(duì)路徑和文件名2部分;
path1?=?r"C:\Users\黃偉\Desktop\publish\os模塊\a.jpg"
os.path.split(path1)結(jié)果如下:

10)os.path.dirname(path)
含義:傳入一個(gè)完整的文件路徑,只獲取其絕對(duì)路徑;
path1?=?r"C:\Users\黃偉\Desktop\publish\os模塊\a.jpg"
os.path.dirname(path1)結(jié)果如下:

11)os.path.basename(path)
含義:傳入一個(gè)完整的文件路徑,只獲取其文件名;
path1?=?r"C:\Users\黃偉\Desktop\publish\os模塊\a.jpg"
os.path.basename(path1)結(jié)果如下:

11)os.path.basename(path)
含義:傳入一個(gè)完整的文件路徑,只獲取其文件名;
path1?=?r"C:\Users\黃偉\Desktop\publish\os模塊\a.jpg"
os.path.basename(path1)結(jié)果如下:

12)os.path.isdir(path)
含義:傳入一個(gè)完整的文件路徑,判斷它是否是文件夾;
path?=?os.getcwd()
file_list?=?os.listdir()
for?file?in?file_list:
????if?os.path.isdir(file):
????????print(file)結(jié)果如下:
13)os.path.isfile(path)
含義:傳入一個(gè)完整的文件路徑,判斷它是否是文件;
path?=?os.getcwd()
file_list?=?os.listdir()
for?file?in?file_list:
????if?os.path.isfile(file):
????????print(file)結(jié)果如下:
14)os.path.sep
含義:返回當(dāng)前操作系統(tǒng)的路徑分隔符;
os.path.sep結(jié)果如下:
15)os.path.getsize(path)
含義:傳入一個(gè)完整的文件路徑,返回該文件的大小;
os.path.getsize("我創(chuàng)建的壓縮包.zip")結(jié)果如下:
END
評(píng)論
圖片
表情
