# Импортируем модуль 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")