Моя задача: я хочу написать автоматизацию, где мои разные типы файлов (.png, .jpg, .mp4, et c ...) перемещаются в разные папки из моего пути "Загрузки" ...
import os
import shutil
observed_path = "C:/Users/myName/Downloads/"
aim_path_pics = "C:/Users/myName/OneDrive/Dokumente/Coding/Ziel/Bilder/"
aim_path_vids = "C:/Users/myName/OneDrive/Dokumente/Coding/Ziel/Videos/"
image_list = ["png","tif","psd","ai","gif","jpg","bmp","eps","fh","cdr","jp2","xlsx"]
video_list = ["avi","wmv","mpg","mov","flv","swf","mp4","webm"]
name_type_dict = {}
def file_handler(my_path):
if len(os.listdir(my_path)) > 0 :
print(len(os.listdir(my_path)), "Dateien sind im Verzeichnis:", os.listdir(my_path))
for contained_files in os.listdir(my_path):
name, type = contained_files.split(".")
name_type_dict[name] = type
for i in image_list:
if i in name_type_dict[name]:
print(i, "-->", contained_files)
shutil.move(contained_files, "C:/Users/Ülkem/OneDrive/Dokumente/Coding/Ziel/Bilder/") #Das bewegen der files funktionier NICHT!
for v in video_list:
if v in name_type_dict[name]:
print(v, "-->", contained_files)
shutil.move(contained_files, "C:/Users/Ülkem/OneDrive/Dokumente/Coding/Ziel/Bilder/") #Das bewegen der files funktionier NICHT!
else:
len(os.listdir(my_path)) == 0
print("Es sind keine Dateien im Verzeichnis!") #
file_handler(observed_path)
Когда я запускаю скрипт, появляется следующая ошибка:
6 Dateien sind im Verzeichnis: ['desktop.ini', 'desktop.mp4', 'fdghdfgh.docx', 'gfjfghj.xlsx', 'hallo.txt', 'pdfjpg.png']
mp4 --> desktop.mp4
Traceback (most recent call last):
File "C:\Users\myName\AppData\Local\Programs\Python\Python38\lib\shutil.py", line 781, in move
os.rename(src, real_dst)
FileNotFoundError: [WinError 2] Das System kann die angegebene Datei nicht finden: 'desktop.mp4' -> 'C:/Users/myName/OneDrive/Dokumente/Coding/Ziel/Bilder/desktop.mp4'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\myName\Desktop\file_handler.py", line 37, in <module>
file_handler(observed_path)
File "C:\Users\myName\Desktop\file_handler.py", line 26, in file_handler
shutil.move(contained_files, "C:/Users/myName/OneDrive/Dokumente/Coding/Ziel/Bilder/") #Das bewegen der files funktionier NICHT!
File "C:\Users\myName\AppData\Local\Programs\Python\Python38\lib\shutil.py", line 795, in move
copy_function(src, real_dst)
File "C:\Users\myName\AppData\Local\Programs\Python\Python38\lib\shutil.py", line 426, in copy2
copyfile(src, dst, follow_symlinks=follow_symlinks)
File "C:\Users\myName\AppData\Local\Programs\Python\Python38\lib\shutil.py", line 259, in copyfile
with open(src, 'rb') as fsrc, open(dst, 'wb') as fdst:
FileNotFoundError: [Errno 2] No such file or directory: 'desktop.mp4'
[Finished in 0.143s]
PS: перед тем, как я использовал метод shutil.move, код выше (условие if) и for-l oop работал нормально, и я показал мне, что там есть файлы в моем пути загрузки и имена ... Я надеюсь, что смог объяснить мою проблему: D