78 lines
2.5 KiB
Python
78 lines
2.5 KiB
Python
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() |