我有一個包含不同擴展名的檔案的目錄,我必須將這些檔案移動到“檔案目錄”內的檔案夾中(創建它們),我寫了但我需要幫助(第一個專案請溫柔)
'''import os
import shutil
os.makedirs("C:\\FileOrganizer\\FileOrganizer\\Files\\Images")
os.makedirs("C:\\FileOrganizer\\FileOrganizer\\Files\\Text")
os.makedirs("C:\\FileOrganizer\\FileOrganizer\\Files\\Mp3")
src_fldr = "C:\\FileOrganizer\\FileOrganizer\\Files"
fldr_img ="C:\\FileOrganizer\\FileOrganizer\\Files\\Images"
fldr_txt = "C:\\FileOrganizer\\FileOrganizer\\Files\\Text"
fldr_mp3 = "C:\\FileOrganizer\\FileOrganizer\\Files\\Mp3"
for file in os.listdir(src_fldr):
filename = os.fsdecode(file)
if filename.endswith(".txt", ".otd"):
shutil.move(src_fldr, fldr_txt)
elif filename.endswith(".jpeg", ".jpg", ".png"):
shutil.move(src_fldr, fldr_img)
elif filename.endswith(".mp3"):
shutil.move(src_fldr, fldr_mp3)
else:
pass'''
uj5u.com熱心網友回復:
您應該將源檔案而不是源檔案夾移動到目標檔案夾中
for file in os.listdir(src_fldr):
filename = os.fsdecode(file) # remove me
if filename.endswith(".txt", ".otd"):
shutil.move(file, fldr_txt)
elif filename.endswith(".jpeg", ".jpg", ".png"):
shutil.move(file, fldr_img)
elif filename.endswith(".mp3"):
shutil.move(file, fldr_mp3)
else:
pass
另外,我認為您應該洗掉整行并直接os.fsdecode更改用途file
if file.endswith(".txt", ".otd"):
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/410511.html
標籤:
上一篇:從回圈內部更新回圈外部的變數
