Функция directorychooser извлекает теги из одного MP3-файла, находящегося в выбранной папке. Эти теги записываются в словарь, который я планировал записывать в JSON-файл. Код, который будет ниже, завершается без ошибок, но JSON-файл остается пустым. Найти что-то похожее в гугле не смог. Пожалуйста, подскажите, в чем может быть проблема?
import mutagen, datetime, pygame, os, json
from mutagen.id3 import ID3
from tkinter import *
from tkinter.filedialog import askdirectory
root = Tk()
root.minsize(300,300)
def directorychooser(event):
tags = {}
paths = []
directory = askdirectory()
os.chdir(directory)
for files in os.listdir(directory):
if files.endswith(".mp3"):
realdir = os.path.realpath(files)
paths.append(realdir)
path = paths[0]
audiofile = mutagen.File(path)
tags['Path to the File'] = path
song_title = audiofile.tags.getall('TIT2')
tags['Song Title'] = str(song_title[0])
album_title = audiofile.tags.getall('TALB')
tags['Album Title'] = str(album_title[0])
song_artist = audiofile.tags.getall('TPE1')
tags['Song Artist'] = str(song_artist[0])
album_artist = audiofile.tags.getall('TPE2')
tags['Album Artist'] = str(album_artist[0])
year_of_publishing = audiofile.tags.getall('TDRC')
tags['Year of Publishing'] = str(year_of_publishing[0])
track_number = audiofile.tags.getall('TRCK')
tags['Track Number'] = str(track_number[0])
tags['Length'] = str(datetime.timedelta(seconds = audiofile.info.length))
tags['Bitrate'] = audiofile.info.bitrate
with open("tags.json", "w") as t:
json.dump(tags, t)
choose_directory = Button(root,text = 'Choose Directory')
choose_directory.pack()
choose_directory.bind("<Button-1>", directorychooser)
root.mainloop()