Not a member of GistPad yet?
Sign Up,
it unlocks many cool features!
- # Импортируем модуль 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")
RAW Paste Data
Copied
Advertisement
