點擊關註上方「Python數據分析實例」
設為「置頂或星標」,送達乾貨不錯過!
文件夾主要用於分層保存文件,通過文件夾可以進行區別存放文件。
Python中,沒有提供直接操作文件夾的方法,需要使用內置的os、os.path和shutil模塊來實現。
1、獲取文件夾路徑:絕對路徑和相對路徑
Python中通過os模塊提供的getcwd()方法獲取當前工作文件夾
如代碼位於G:\Projectfile\image\test.py,運行如下代碼
import os print(os.getcwd()) #輸出當前文件夾
輸出如下路徑,即當前工作文件夾
G:\Projectfile\image
如果文件test.txt保存在image文件夾裡,即位於當前工作文件夾下,通過以下相對路徑即可打開文件
with open("image/test.txt") as file: pass
注意:Python中指定文件路徑時需要對路徑分隔符"\"進行轉義,即"\"替換為"\\";也可以將路徑分隔符"\"採用"/"代替;或直接複製文件夾路徑字符串前面加r即可。r"image\test.txt".
Python中通過os.path模塊提供的abspath()方法獲取一個文件的絕對路徑。
獲取相對路徑「image\test.txt」的絕對路徑
import os
print(os.path.abspath(r"image\test.txt"))輸出結果:G:\Projectfile\image\image\test.txt
Python中通過os.path模塊提供的join()方法實現。
註:拼接路徑時不會檢測該路徑是否真實存在。如果要拼接的連接中沒有絕對路徑,最後拼接的將是一個相對路徑。
import os
print(os.path.join("G:\Projectfile",r"image\test.txt"))輸出結果:G:\Projectfile\image\test.txt
2、判斷文件夾是否存在
Python中判斷給定的文件夾是否存在,可使用os.path模塊提供的exists()方法實現。
示例,判斷G:\Projectfile下面有沒有demo文件夾
import os
print(os.path.exists(r"G:\Projectfile\demo"))3、創建文件夾
Python中os模塊提供2種創建文件夾方法:1、創建一級文件夾2、創建多級文件夾
指一次只能創建頂層文件夾,而不能創建子文件夾。Python中通過os模塊提供的mkdir()方法實現。
註:如果創建的文件夾已經存在,將會顯示FileExistsError異常,為避免異常,可先使用os.path.exists()方法判斷要創建的文件夾是否存在。
import os
os.mkdir(r"G:\Projectfile\demo")Python中通過os模塊提供的makedirs()方法實現。該方法用於採用遞歸的方式創建文件夾。如下示例創建demo、test、dir嵌套的文件夾。
import os
os.makedirs(r"G:\Projectfile\demo\test\dir")
4、複製文件夾
Python中複製文件夾使用shutil模塊提供的copytree()方法實現。
示例:將G盤文件Projectfile目錄裡的demo文件夾複製到F盤test文件夾中。
註:若複製的文件夾下還有二級文件夾,將整體複製過去
import shutil
shutil.copytree(r"G:\Projectfile\demo",r"F:\test")
5、用電文件夾
Python中複製文件夾使用shutil模塊提供的move()方法實現。
示例:將C盤文件裡的demo文件移動制D盤Demo文件夾中。
import shutil
shutil.move("C:/demo","D:/demo")
6、重命名文件夾
Python中重命名文件夾使用os模塊提供的rename()方法實現。
import os
os.rename("D:/demo","D:/demo1")
或
import shutil
shutil.move("D:/demo","D:/demo1")7、刪除文件夾
Python中刪除文件夾使用os模塊提供的rmdir()方法實現。只有當刪除文件夾為空時才起作用。
import os
os.rmdir("F:\\test")註:如果想刪除非空文件夾,需要使用Python內置的shutil中rmtree()方法實現。可以刪除子文件夾及其包含的內容。
8、遍歷文件夾
對指定的文件夾下的全部文件夾及文件執行一遍。
Python中使用os模塊的walk()方法實現遍歷文件夾的功能。
os.walk():使用該方法進行遍歷的結果很多。
import os
tuples=os.walk(r"G:\Projectfile")
for i in tuples:
print(i,"\n")有時只需指定文件夾根目錄下的文件和文件夾,用os模塊提供的listdir()方法。
Python數據分析實例