我似乎无法弄清楚如何创建一个 for 循环来根据我的文件夹名称重命名我的文件..
例如。
文件夹-2021/Category/Fruits/
文件名- 2021_Category_Fruits_Apple.jpg
,2021_Category_Fruits_Orange.jpg
等...
我会使用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)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句