# Импортируем модуль os для работы с путями и файловой системой import os # Запрашиваем ФИО пациента (текст приглашения выводится через input, не через print) full_name_input = input("Enter the full name of the patient separated by space (Ivanov Ivan Ivanovich)\n") # Разбиваем ФИО по пробелам и приводим каждое слово к виду "С большой буквы", # чтобы поиск не зависел от регистра ввода, и соединяем слова через "_" parts = full_name_input.strip().split() patient_folder = "_".join(part.capitalize() for part in parts) # Собираем путь до папки пациента: patients/{Ф_И_О} patient_path = os.path.join("patients", patient_folder) # Если папки с таким пациентом нет — выводим сообщение и завершаем программу if not os.path.isdir(patient_path): print("there is not such patient!") else: # Путь до папки с приёмами: patients/{Ф_И_О}/visits visits_path = os.path.join(patient_path, "visits") # Получаем список всех записей (файлов/папок) в папке visits # os.listdir возвращает список имён; если папки нет — вернёт пустой список через проверку ниже visits = os.listdir(visits_path) if os.path.isdir(visits_path) else [] # Если список пуст — значит приёмов ещё не было if not visits: print("This is the first appointment") else: # Показываем врачу список предыдущих приёмов print("Previous appointments:") # Перебираем все найденные приёмы и выводим каждый на экран for visit in visits: print(visit) # После просмотра списка запрашиваем дату приёма, который нужно открыть visit_date = input("Enter the date of the appointment you want to see\n") # Строим путь до файла приёма по введённой дате visit_path = os.path.join(visits_path, visit_date) # Если файл приёма существует — читаем и выводим его содержимое if os.path.isfile(visit_path): with open(visit_path, "r", encoding="utf-8") as f: print(f.read()) else: # Если файла нет — выводим сообщение об ошибке print("There was no such appoinment with the doctor")