我似乎不知道如何创建一个 for 循环来根据我的文件夹名称重命名我的文件..
例如。
文件夹 - 2021/Category/Fruits/
文件名 - 2021_Category_Fruits_Apple.jpg
、2021_Category_Fruits_Orange.jpg
等...
答案 0 :(得分:1)
我会使用 pathlib
模块:
from pathlib import Path
folder = Path("d:/test") # path to your folder
files = list(folder.rglob("*.jpg")) # get all jpg files from subfolders
for f in files:
name = "_".join(f.parts[-4:]) # the last four parts of full name
new_file = Path(f.parent / name)
f.rename(new_file)
实际上,实施取决于您的工作流程。这是相同代码的一个可能更聪明的变体:
folder = Path("d:/test") # path to your folder
folder_parts_len = len(folder.parts) # len(["d", "test"])
files = list(folder.rglob("*.jpg")) # all jpg files from subfolders
for f in files:
file_parts = f.parts[folder_parts_len:] # ["2021", "Category", "Fruits", "Apple.jpg"]
name = "_".join(file_parts) # "2021_Category_Fruits_Apple.jpg"
new_file = Path(f.parent / name)
f.rename(new_file)
答案 1 :(得分:0)
在“/”上拆分路径名,然后在“_”上加入。