## Лабораторная работа 1. Вариант 5. #### Вариант первой программы: Ищет в каталоге `/var/data` файл с самым коротким названием и перекладывает его в `/var/result/data.txt`. #### Вариант второй программы: Сохраняет произведение первого и последнего числа из файла `/var/data/data.txt` в `/var/result/result.txt`. ### Как запустить: В директории с файлом `docker-compose` в консоли/терминале ввести команду `docker-compose up` #### Файл сборки docker-compose.yaml ```dockerfile version: "3" services: worker-1: build: context: /app1 dockerfile: Dockerfile worker-2: build: context: /app2 dockerfile: Dockerfile ``` #### Dockerfile каждой программы ```dockerfile FROM python:3.11 COPY . . COPY var/data /var/data COPY var/result /var/result CMD ["python", "main.py"] ``` #### Код первой программы ```python import os def main(): data_dir = 'var/data' result_file = '/var/result/data.txt' min_name = min(os.listdir(data_dir)) # Ищем и записываем самое короткое название (включая расширение) with open(result_file, 'w') as result: result.write(min_name) print(f'В файл {result_file} было записано {min_name}') if __name__ == "__main__": main() ``` #### Код второй программы ```python def main(): data_path = 'var/data/data.txt' result_path = 'var/result/result.txt' data = [] with open(data_path, "r") as data_file: data = list(map(lambda x: int(x), data_file.read().split())) with open(result_path, 'w') as result: result.write(f'{data[0] * data[-1]}') print(f'В файл {result_path} было записано {data[0] * data[-1]}') if __name__ == "__main__": main() ``` ### Видео https://youtu.be/D7HKUqotLGA