[英]Rename files in Multiple Folders with os
我有多個帶有圖像的文件夾,具有以下文件夾結構,我想重命名其文件。
父目錄
文件夾 1
xyz.jpg abc.png ...
文件夾 2
def.jpg xdd.png ...
重命名.py
## rename.py
import os
## Function to rename
def main():
folders = ["Folder_1", "Folder_2"]
for folder_name in folders:
for count, filename in enumerate(os.listdir(folder_name)):
if folder_name == "Folder_1":
dst = f"Folder_1 {str(count)}.jpg"
src = f"{folder_name}/{filename}"
dst = f"{folder_name}/{dst}"
elif folder_name == "Folder_2":
dst = f"Folder_2 {str(count)}.jpg"
src = f"{folder_name}/{filename}"
dst = f"{folder_name}/{dst}"
os.rename(src, dst)
if __name__ == '__main__':
main()
但是會出現兩個問題:
Noobing 這個通過並感謝您的幫助。
您可以使用os.path
的功能來提取文件擴展名並將其用於重命名文件。 我使用.png
和.jpg
圖像重新創建了您的目錄,並運行了您的代碼,folder1 和 folder2 都有效。 一定有錯字或其他導致問題的原因。
這是您可以使用的功能:
## rename.py
import os
def main():
folders = ["folder1", "folder2"]
for folder_name in folders:
for count, filename in enumerate(os.listdir(folder_name)):
_, ext = os.path.splitext(os.path.basename(filename))
newfilename = f"{folder_name} {str(count)}{ext}"
src = f"{folder_name}/{filename}"
dst = f"{folder_name}/{newfilename}"
os.rename(src, dst)
if __name__ == '__main__':
main()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.