初学者在这里。我希望能够遍历文件夹及其子目录和文件,并将所有唯一的文件扩展名移动到该文件类型的专用文件夹中。例如.jpg->进入jpg文件夹。 (这全部在Python的IDLE中)
我有此代码:
os.chdir('c:\\users\\dchrie504\\Downloads_2')
# walk through all files and folders to get unique filetypes.
l_Files = os.walk('c:\\users\\dchrie504\\Downloads_2')
fileTypes = []
for walk in l_Files:
for file in walk[-1]:
fileTypes.append(file.split('.')[-1])
# make all items lowercase to create distinct values
fileTypes = [x.lower() for x in fileTypes]
# get rid of duplicate filetypes by creating set then back to list.
fileTypes = set(fileTypes)
fileTypes = list(fileTypes)
# create a folder for each unique filetype.
for ft in fileTypes:
os.mkdir(os.getcwd() + '\\' + ft)
fileWalk = os.walk('c:\\users\\dchrie504\\Downloads_2')
#Trying to move files to their respective fileType folder.
for fileType in fileTypes:
for folder, sub, files in os.walk('c:\\users\\dchrie504\\Downloads_2'):
for file in files:
if file.endswith('.' + fileType):
shutil.move(file, (os.getcwd() + '\\' + fileType))
问题是执行此部分时出现以下错误:
for file in files:
if file.endswith('.' + fileType):
shutil.move(file, (os.getcwd() + '\\' + fileType))
错误消息:回溯(最近一次通话最近): 文件“”,第5行,在 shutil.move(文件,(os.getcwd()+'\'+ fileType)) 正在移动的文件“ C:\ Users \ dchrie504 \ AppData \ Local \ Programs \ Python \ Python37-32 \ lib \ shutil.py”,行555 引发错误(“目标路径'%s'已经存在”%real_dst) shutil.Error:目标路径'c:\ users \ dchrie504 \ Downloads_2 \ txt \ New Text Document.txt'已经存在
答案 0 :(得分:0)
您必须提供完整路径,以便shutil.move会覆盖。
shutil.move(fullpathorigin, fullpathdestination)