import json
def music_adder():
filename = "count.pickle"
with open(filename, "r+", encoding='UTF-8') as file:
count = int(json.load(file))
new_music = {
'Название песни': input('Введите название композиции '),
'Автор': input('Введите автора '),
'Длительность': int(input('Введите продолжительность в минутах ')),
'Год выпуска': int(input('Введите год издания ')),
'Жанр': input('Введите жанр '),
}
return new_music
def main():
question = 'y'
filename = "music_list.json"
music = []
music1 = {
'Название песни': "ave maria",
'Автор': "Иоганн Себастьян Бах",
'Длительность': 3,
'Год выпуска': 1722,
'Жанр': "Классика",
}
music2 = {
'Название песни': "Winter",
'Автор': "Антонио Вивальди",
'Длительность': 2,
'Год выпуска': 1725,
'Жанр': "Классика",
}
music.append(music1)
music.append(music2)
with open(filename, "w", encoding='utf-8') as file:
json.dump(music, file)
while question == 'y':
with open(filename, "r+", encoding='utf-8') as file:
music_data = json.load(file)
print('1) Загрузить информацию из файла\n'
'2) Поиск по наименованию\n'
'3) Фильтровать по жанру\n'
'4) Добавить произведение\n'
'5) Удалить произведение\n'
'6) Сохранить в файле\n')
action_name = int(input('Выберите действие: '))
if not (action_name in range(1, 7)):
print('Выберите операцию из списка!')
if action_name == 1:
for musics in music_data:
print('Название песни - ' +
str(musics['Название песни']))
print('Автор - ' + str(musics['Автор']))
print('Длительность - ' +
str(musics['Длительность']) + " " + "минуты")
print('Год выпуска - ' +
str(musics['Год выпуска']) + " " + 'год')
print('Жанр - ' + str(musics['Жанр']))
print('**************************')
if action_name == 2:
print('Пока не знаю как сделать')
if action_name == 3:
genre = input(print('Введите жанр, по которому'
' нужно отфильтровать'))
for i in range(1, 5):
if music['Жанр'] == genre:
print(music)
if action_name == 4:
music.append(music_adder())
with open(filename, "w", encoding='utf-8') as file:
json.dump(music, file)
if action_name == 5:
index = int(input('Какое произведение'
' по порядку вы хотите удалить?'))
music.pop(index - 1)
with open(filename, "w", encoding='utf-8') as file:
json.dump(music, file)
if action_name == 6:
with open(filename, "a+", encoding='utf-8') as file:
json.dump(music, file)
question = input('Продолжить ввод? [y/N]')
if __name__ == "__main__":
main()