這是我的代碼:無法在python中移動文件?錯誤號13-被拒絕的權限
def unpack(folders):
for folder in folders:
files = os.listdir(folder)
print (files)
while len(os.listdir(folder)) != 0:
for file in files:
if os.path.isdir(file)==False:
print (file)
shutil.move(os.path.join(cur_dir,folder,file),os.path.join(cur_dir,file))
else:
unpack(file)
if len(os.listdir(folder))==0:
os.rmdir(folder)
當我把這個目錄上這個節目是,一切工作正常,但我不能複製一個名爲「desktop.ini的」文件。這是錯誤:
Traceback (most recent call last):
File "C:\Users\satvi_000\AppData\Local\Programs\Python\Python36\lib\shutil.py", line 544, in move
os.rename(src, real_dst)
FileExistsError: [WinError 183] Cannot create a file when that file already exists: 'C:\\Users\\satvi_000\\Downloads\\others\\desktop.ini' -> 'C:\\Users\\satvi_000\\Downloads\\desktop.ini'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\satvi_000\Downloads\clean_folder.py", line 37, in <module>
unpack(folders_list)
File "C:\Users\satvi_000\Downloads\clean_folder.py", line 30, in unpack
shutil.move(os.path.join(cur_dir,folder,file),os.path.join(cur_dir,file))
File "C:\Users\satvi_000\AppData\Local\Programs\Python\Python36\lib\shutil.py", line 558, in move
copy_function(src, real_dst)
File "C:\Users\satvi_000\AppData\Local\Programs\Python\Python36\lib\shutil.py", line 257, in copy2
copyfile(src, dst, follow_symlinks=follow_symlinks)
File "C:\Users\satvi_000\AppData\Local\Programs\Python\Python36\lib\shutil.py", line 121, in copyfile
with open(dst, 'wb') as fdst:
PermissionError: [Errno 13] Permission denied: 'C:\\Users\\satvi_000\\Downloads\\desktop.ini'
我猜這是一個系統文件或其他東西。我如何克服這個問題?移動文件並不是完全必要的,跳過它很好。
不會'嘗試:shutil.move(...)除了:pass'就夠了嗎? (如果失敗,它將忽略錯誤) – Nuageux
它看起來像文件(你想移動到哪裏)已經存在。你可以刪除該文件,如果這是你想要的。 – syntonym