add lab2.py
This commit is contained in:
@@ -0,0 +1,72 @@
|
|||||||
|
def process_file(input_file, output_file):
|
||||||
|
try:
|
||||||
|
# Открытие входного файла
|
||||||
|
try:
|
||||||
|
with open(input_file, 'r', encoding='utf-8') as f:
|
||||||
|
text = f.read()
|
||||||
|
except FileNotFoundError:
|
||||||
|
print(f"[ОШИБКА] Файл '{input_file}' не найден.")
|
||||||
|
return
|
||||||
|
except PermissionError:
|
||||||
|
print(f"[ОШИБКА] Нет прав доступа к файлу '{input_file}'.")
|
||||||
|
return
|
||||||
|
except UnicodeDecodeError:
|
||||||
|
print(f"[ОШИБКА] Ошибка кодировки при чтении файла '{input_file}'. Попробуй другую кодировку.")
|
||||||
|
return
|
||||||
|
except Exception as e:
|
||||||
|
print(f"[ОШИБКА] Неизвестная ошибка при чтении файла: {e}")
|
||||||
|
return
|
||||||
|
|
||||||
|
# Обработка текста
|
||||||
|
try:
|
||||||
|
result = ""
|
||||||
|
for char in text:
|
||||||
|
if ord(char) < 48:
|
||||||
|
result += " "
|
||||||
|
else:
|
||||||
|
result += char
|
||||||
|
except Exception as e:
|
||||||
|
print(f"[ОШИБКА] Ошибка при обработке текста: {e}")
|
||||||
|
return
|
||||||
|
|
||||||
|
# Запись в выходной файл
|
||||||
|
try:
|
||||||
|
with open(output_file, 'w', encoding='utf-8') as f:
|
||||||
|
f.write(result)
|
||||||
|
except PermissionError:
|
||||||
|
print(f"[ОШИБКА] Нет прав на запись в файл '{output_file}'.")
|
||||||
|
return
|
||||||
|
except Exception as e:
|
||||||
|
print(f"[ОШИБКА] Ошибка при записи файла: {e}")
|
||||||
|
return
|
||||||
|
|
||||||
|
print(f"[УСПЕХ] Обработка завершена. Результат записан в '{output_file}'.")
|
||||||
|
|
||||||
|
except Exception as e:
|
||||||
|
print(f"[КРИТИЧЕСКАЯ ОШИБКА] {e}")
|
||||||
|
|
||||||
|
|
||||||
|
# --- Точка входа ---
|
||||||
|
def main():
|
||||||
|
try:
|
||||||
|
input_file = input("Введите имя входного файла (например input.txt): ").strip()
|
||||||
|
output_file = input("Введите имя выходного файла (например output.txt): ").strip()
|
||||||
|
|
||||||
|
if not input_file:
|
||||||
|
print("[ОШИБКА] Имя входного файла не может быть пустым.")
|
||||||
|
return
|
||||||
|
|
||||||
|
if not output_file:
|
||||||
|
print("[ОШИБКА] Имя выходного файла не может быть пустым.")
|
||||||
|
return
|
||||||
|
|
||||||
|
process_file(input_file, output_file)
|
||||||
|
|
||||||
|
except KeyboardInterrupt:
|
||||||
|
print("\n[ОСТАНОВЛЕНО] Программа прервана пользователем.")
|
||||||
|
except Exception as e:
|
||||||
|
print(f"[ОШИБКА] Неожиданная ошибка: {e}")
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
||||||
Reference in New Issue
Block a user