import os def get_script_dir(): """Возвращает директорию, где находится текущий скрипт""" return os.path.dirname(os.path.abspath(__file__)) def create_input_file(): """Создает исходный файл data.txt с тестовыми данными""" script_dir = get_script_dir() data_path = os.path.join(script_dir, 'data.txt') data = [ "apples\n", "Bananas\n", "oranges\n", "Grapes\n", "watermelon\n" ] try: with open(data_path, 'w') as file: file.writelines(data) print(f"Файл data.txt успешно создан: {data_path}") return True except Exception as e: print(f"Ошибка при создании файла: {e}") return False def process_file(): """Обрабатывает данные из файла и сохраняет результат""" script_dir = get_script_dir() input_path = os.path.join(script_dir, 'data.txt') output_path = os.path.join(script_dir, 'output.txt') if not os.path.exists(input_path): print(f"Файл не найден: {input_path}") return False try: with open(input_path, 'r') as file: lines = file.readlines() processed_lines = [line.strip().upper() for line in lines] processed_lines.sort() with open(output_path, 'w') as file: file.writelines(line + '\n' for line in processed_lines) print(f"Файл output.txt успешно создан: {output_path}") return True except Exception as e: print(f"Ошибка при обработке файла: {e}") return False def show_results(): """Показывает содержимое полученного файла""" script_dir = get_script_dir() output_path = os.path.join(script_dir, 'output.txt') if not os.path.exists(output_path): print(f"Файл не найден: {output_path}") return try: with open(output_path, 'r') as file: content = file.read() print("\nСодержимое output.txt:") print(content) except Exception as e: print(f"Ошибка при чтении файла: {e}") if __name__ == "__main__": print("=== Программа обработки файлов ===") print(f"Рабочая директория: {get_script_dir()}") if create_input_file(): if process_file(): show_results()