Hasli4

Untitled

Apr 23rd, 2025 (edited)
339
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.72 KB | None | 0 0
  1. import os
  2.  
  3.  
  4. while True:
  5.     print("\nМенеджер файлов (улучшенная версия). Выберите пункт:")
  6.     print("1. Запись текста в файл")
  7.     print("2. Считывание текста из файла")
  8.     print("3. Вывод содержимого текущей папки")
  9.     print("4. Создать папку")
  10.     print("5. Удалить папку")
  11.     print("0. Выход")
  12.  
  13.     choice_str = input("Введите номер пункта меню: ").strip()
  14.  
  15.     # Попытаемся преобразовать choice_str в число, если ошибка - выдадим предупреждение
  16.     try:
  17.         choice = int(choice_str)
  18.     except ValueError:
  19.         print("Некорректный ввод, введите целое число.")
  20.         continue
  21.  
  22.     if choice == 0:
  23.         # Пункт "Выход" - завершаем программу
  24.         print("Завершение работы.")
  25.         break
  26.  
  27.     elif choice == 1:
  28.         # 1. Запись текста в файл
  29.         filename = input("Введите имя файла для записи: ").strip()
  30.         # Проверяем, существует ли уже файл
  31.         if os.path.exists(filename):
  32.             # Файл существует, выдаём предупреждение
  33.             print(f"Внимание: файл '{filename}' уже существует.")
  34.             ans = input("Перезаписать файл? (y/n): ").strip().lower()
  35.             if ans != 'y':
  36.                 print("Действие отменено.")
  37.                 continue
  38.         # Запрашиваем у пользователя текст для записи
  39.         text = input("Введите текст для записи в файл: ")
  40.         try:
  41.             with open(filename, "w", encoding="utf-8") as f:
  42.                 f.write(text)
  43.             print(f"Текст успешно записан в файл '{filename}'.")
  44.         except OSError as e:
  45.             print(f"Ошибка при записи в файл: {e}")
  46.  
  47.     elif choice == 2:
  48.         # 2. Считывание текста из файла
  49.         filename = input("Введите имя файла для чтения: ").strip()
  50.         # Проверяем, существует ли файл
  51.         if not os.path.exists(filename):
  52.             print(f"Файл '{filename}' не существует!")
  53.             continue
  54.         # Читаем файл
  55.         try:
  56.             with open(filename, "r", encoding="utf-8") as f:
  57.                 content = f.read()
  58.             print("Содержимое файла:")
  59.             print(content)
  60.         except OSError as e:
  61.             print(f"Ошибка при чтении файла: {e}")
  62.  
  63.     elif choice == 3:
  64.         # 3. Вывод содержимого текущей папки
  65.         print("Список файлов и папок в текущей директории:")
  66.         list_files = os.listdir()
  67.         for i_file in list_files:
  68.             print(i_file)
  69.  
  70.     elif choice == 4:
  71.         # 4. Создать папку
  72.         dirname = input("Введите имя папки для создания: ").strip()
  73.         if os.path.exists(dirname):
  74.             print(f"Папка '{dirname}' уже существует, создание невозможно.")
  75.         else:
  76.             try:
  77.                 os.mkdir(dirname)
  78.                 print(f"Папка '{dirname}' успешно создана.")
  79.             except OSError as e:
  80.                 print(f"Ошибка при создании папки: {e}")
  81.  
  82.     elif choice == 5:
  83.         # 5. Удалить папку
  84.         dirname = input("Введите имя папки для удаления: ").strip()
  85.         # Сначала проверяем, существует ли такая директория
  86.         if not os.path.exists(dirname):
  87.             print(f"Папка '{dirname}' не существует!")
  88.             continue
  89.         # Проверяем, что это действительно папка
  90.         if not os.path.isdir(dirname):
  91.             print(f"'{dirname}' не является папкой!")
  92.             continue
  93.         # Удаляем папку (только если она пустая!)
  94.         try:
  95.             os.rmdir(dirname)
  96.             print(f"Папка '{dirname}' успешно удалена.")
  97.         except OSError as e:
  98.             print(f"Ошибка: возможно, папка не пуста. Детали: {e}")
  99.         finally:
  100.             print("Вы крутой!")
  101.  
  102.     else:
  103.         print("Неверный номер пункта!")
  104.    
  105.  
Advertisement
Add Comment
Please, Sign In to add comment