參考:Python批量修改文件後綴名、os.path.splitext(“文件路徑”)、python split(),os.path.split()和os.path.splitext()函數用法
1. 目標:批量修改 rootdir 路徑下的所有圖片的後綴名,把所有圖片的後綴名從tiff 改爲jpg。
2. 代碼:(有註釋,可適量修改,舉一反三,改成適合自己的! 解放手動修改!!!)
import os
#想要更改圖片所在的根目錄
rootdir="E:/BaiduNetdiskDownload/jaffedbase/jaffedbase"
#獲取目錄下文件名清單
files=os.listdir(rootdir)
#對文件名清單裏的每一個文件名進行處理
for filename in files:
portion=os.path.splitext(filename) #portion爲名稱和後綴分離後的列表 #os.path.splitext()將文件名和擴展名分開
if portion[1]==".tiff": #如果爲tiff則更改名字
newname=portion[0]+".jpg" #要改的新後綴 #改好的新名字
print(filename) #打印出要更改的文件名
os.chdir(rootdir) #修改工作路徑
os.rename(filename,newname) #在工作路徑下對文件名重新命名
3. 結果:
原本:
修改後:
常用os命令:
- os.path.listdir() 、os.path.join(a,b) 、os.chdir() 、os.path.splitext(filename) 、os.path.realpath
- os.path.splitext(“文件路徑”) : 分離文件名與擴展名;默認返回(fname,fextension)元組,可做分片操作
4. 文件夾操作
import os
import shutil
os.getcwd() # 獲取當前工作目錄,非腳本目錄
os.listdir() # 返回指定目錄下的所有文件和目錄,非遞歸
os.remove() # 刪除文件
os.removedirs() #刪除目錄
os.path.isfile() # 檢驗給出的路徑是否是一個文件
os.path.isdir() # 檢驗給出的路徑是否是一個目錄
os.path.isabs() # 判斷是否是絕對路徑
os.path.exists() # 檢驗給出的路徑是否真實存在
os.path.split() # 返回一個路徑的目錄名和文件名
os.path.splitext() # 分離文件擴展名
os.path.dirname() # 獲取文件路徑名
os.path.basename() # 獲取一個絕對路徑下的文件名
os.system() # 運行shell命令
os.rename(old,new) # 重命名文件或目錄
os.makedirs(r"c:\python\test") # 創建多級目錄
os.mkdir("test") # 創建單個目錄
os.exit() # 終止當前進程
os.path.getsize(filename) # 獲取文件大小
os.mknod("test.txt") # 創建空文件
shutil.copyfile("oldfile","newfile") # oldfile和newfile都只能是文件
shutil.copytree("olddir","newdir") # olddir和newdir都只能是目錄,且newdir必須不存在
shutil.move("oldpos","newpos") # 移動文件或目錄
shutil.rmtree("dir") # 刪除目錄,與os.removedirs()相同
os.path.join(“home”, "me", "mywork") # 路徑連接