DAS_2024_1/klyushenkova_ksenia_lab_2/w-2/worker-2.py

50 lines
1.8 KiB
Python
Raw Normal View History

2024-12-20 00:24:54 +04:00
import os
# Ищет набольшее число из файла /var/result/data.txt и сохраняет его вторую степень в /var/result/result.txt.
# Пути к файлам
input_file = '/var/result/data.txt'
output_file = '/var/result/result.txt'
def find_largest_number_and_save_squared(input_file, output_file):
try:
# Проверяем существование входного файла
if not os.path.exists(input_file):
print(f"Файл {input_file} не найден.")
return
# Чтение чисел из файла
with open(input_file, 'r') as file:
numbers = []
for line in file:
for word in line.split():
try:
numbers.append(float(word))
except ValueError:
continue
# Проверяем, что числа найдены
if not numbers:
print("В файле нет чисел.")
return
# Находим наибольшее число
largest_number = max(numbers)
# Вычисляем квадрат
squared_number = largest_number ** 2
# Создаём директорию для файла, если её нет
os.makedirs(os.path.dirname(output_file), exist_ok=True)
# Записываем квадрат в файл
with open(output_file, 'w') as file:
file.write(str(squared_number))
print(f"Наибольшее число: {largest_number}")
print(f"Квадрат числа сохранён в {output_file}")
except Exception as e:
print(f"Ошибка: {e}")
find_largest_number_and_save_squared(input_file, output_file)