Я пытаюсь создать программу, которая считывает несколько файлов c в массив. И исходя из их жанра (в метаданных), переместите их в соответствующую папку (т.е. домашний трек будет go в домашнюю папку). Если папка для этого жанра не существует, она должна создать папку для этого файла и для будущих.
Проблема возникает при попытке создать уже существующую папку, даже если эта существующая папка является правильной. В чем проблема? Новое в перемещении папок / файлов, поэтому любые советы будут с благодарностью приняты
music = os.path.join(home, 'Music')
print(music)
# Function that checks if directory exists
def directory_check(home, folder):
folder_path = os.path.join(home, folder)
folder_check = os.path.isdir(folder_path)
if folder_check is True:
print(folder_path + " is a valid directory")
else:
print(folder_path + " is NOT a valid directory")
directory_check(home, downloads)
directory_check(home, documents)
directory_check(home, pictures)
directory_check(home, desktop)
directory_check(home, music)
tracks = []
genres = []
for root, dirs, files, in os.walk(downloads):
for name in files:
if name.endswith((".mp3", ".m4a", ".wav")):
shutil.move(downloads + '\\' + name,
music + '\\Tracks' + '\\' + name)
for root, dirs, files, in os.walk(music + '\\Tracks'):
genres.extend(dirs);
for name in files:
if name.endswith((".mp3", ".wav", "m4a")):
tracks.append(name)
track = TinyTag.get(music + "\\Tracks\\" + name);
print(genres);
for track in tracks:
path = music + '\Tracks\\' + track;
temp = TinyTag.get(path);
for i in genres:
if temp.genre == i:
shutil.move(music + '\Tracks\\' + track,
music + '\Tracks\\' + i + '\\' + track)
elif temp.genre == "" or temp.genre == None:
shutil.move(music + '\Tracks\\' + track,
music + '\Tracks\Misc\\' + track)
else:
path = os.getcwd()
os.makedirs(path + '\\' + temp.genre)
shutil.move(path + '\\' + track, path +
'\\' + temp.genre + '\\' + track )
Это ошибка
Traceback (most recent call last):
File "C:\Users\callu\Music\File~org.py", line 83, in <module>
os.makedirs(path + '\\' + temp.genre)
File "C:\Users\callu\AppData\Local\Programs\Python\Python37-32\lib\os.py", line 221, in makedirs
mkdir(name, mode)
FileExistsError: [WinError 183] Cannot create a file when that file already exists: 'C:\\Users\\callu\\Music\\House'
Большое спасибо.