diff --git a/chernyshov_nikita_lab_2/README.md b/chernyshov_nikita_lab_2/README.md deleted file mode 100644 index d1b8854..0000000 --- a/chernyshov_nikita_lab_2/README.md +++ /dev/null @@ -1,22 +0,0 @@ -## Лабораторная работа №2 - - -**App 1: Программа 4 - Количество символов в именах файлов из каталога /var/data** - -- Формирует файл /var/result/data.txt так, что каждая строка файла - количество символов в именах файлов из каталога /var/data. - -**App 2: Программа 3 - Количество чисел в последовательности** - -- Ищет набольшее число из файла /var/result/data.txt и сохраняет количество таких чисел из последовательности в /var/result/result.txt. - -**Структура проекта:** - -1. В папках app_1, app_2 лежат выполняемые файлы .py и Dockerfile с нужным кодом. -2. В папке generator_of_data лежат выполняемые файлы для создания данных. -3. В папке data лежат файлы, длину имен которых нужно посчитать. -4. В папке result лежат файлы с результатами выполнения программ. data.txt - результат выполнения main.py (app_1), result.txt - результат выполнения main.py (app_2). Данные в result рассчитываются из данных data. -5. docker-compose.yml - для определения и управления контейнерами Docker. - -**Команда для запуска** - docker-compose up - -**Ссылка на видео:** https://vkvideo.ru/video286865610_456239225?list=ln-Xqg7SupM1CohXsGRZK \ No newline at end of file diff --git a/chernyshov_nikita_lab_2/app_1/Dockerfile b/chernyshov_nikita_lab_2/app_1/Dockerfile deleted file mode 100644 index 0690732..0000000 --- a/chernyshov_nikita_lab_2/app_1/Dockerfile +++ /dev/null @@ -1,20 +0,0 @@ -# Используем образ Python 3.9-slim как основу для нашего контейнера. -# slim-версия образа более компактная, что делает контейнер меньше. -FROM python:3.9-slim -# Устанавливаем рабочую директорию в контейнере как /app. -# Все последующие команды будут выполняться в этой директории. -WORKDIR /app -# Копируем файл main.py из текущей директории в директорию /app в контейнере. -COPY . /app -# Определяем команду, которая будет выполняться при запуске контейнера. -# В данном случае запускается Python-скрипт main.py. -CMD ["python", "main.py"] - - - - - - - - - diff --git a/chernyshov_nikita_lab_2/app_1/main.py b/chernyshov_nikita_lab_2/app_1/main.py deleted file mode 100644 index 5e945ea..0000000 --- a/chernyshov_nikita_lab_2/app_1/main.py +++ /dev/null @@ -1,38 +0,0 @@ -import os - -def get_file_with_most_lines(directory): - max_lines = 0 - target_file = "" - - for filename in os.listdir(directory): - filepath = os.path.join(directory, filename) - if os.path.isfile(filepath): - with open(filepath, 'r') as f: - line_count = sum(1 for _ in f) - if line_count > max_lines: - max_lines = line_count - target_file = filename - - return target_file - -def copy_file(src_directory, dest_directory, filename): - src_filepath = os.path.join(src_directory, filename) - dest_filepath = os.path.join(dest_directory, 'data.txt') - - os.makedirs(dest_directory, exist_ok=True) - - with open(src_filepath, 'r') as src_file: - with open(dest_filepath, 'w') as dest_file: - dest_file.write(src_file.read()) - -def main(): - src_directory = '/var/data' - dest_directory = '/var/result' - - target_file = get_file_with_most_lines(src_directory) - if target_file: - copy_file(src_directory, dest_directory, target_file) - print(f"File {target_file} copied to {dest_directory}/data.txt") - -if __name__ == "__main__": - main() \ No newline at end of file diff --git a/chernyshov_nikita_lab_2/app_2/Dockerfile b/chernyshov_nikita_lab_2/app_2/Dockerfile deleted file mode 100644 index 946d3a7..0000000 --- a/chernyshov_nikita_lab_2/app_2/Dockerfile +++ /dev/null @@ -1,7 +0,0 @@ -FROM python:3.9-slim - -WORKDIR /app - -COPY . /app - -CMD ["python", "main.py"] \ No newline at end of file diff --git a/chernyshov_nikita_lab_2/app_2/main.py b/chernyshov_nikita_lab_2/app_2/main.py deleted file mode 100644 index b25deb9..0000000 --- a/chernyshov_nikita_lab_2/app_2/main.py +++ /dev/null @@ -1,25 +0,0 @@ -import os - -def get_largest_number_from_file(filepath): - with open(filepath, 'r') as f: - numbers = [int(line.strip()) for line in f.readlines()] - return max(numbers) - -def save_square_of_number(number, output_filepath): - result = number ** 2 - with open(output_filepath, 'w') as f: - f.write(str(result)) - -def main(): - input_filepath = '/var/result/data.txt' - output_filepath = '/var/result/result.txt' - - if os.path.exists(input_filepath): - largest_number = get_largest_number_from_file(input_filepath) - save_square_of_number(largest_number, output_filepath) - print(f"Largest number squared: {largest_number}^2 saved to {output_filepath}") - else: - print(f"Input file {input_filepath} not found!") - -if __name__ == "__main__": - main() \ No newline at end of file diff --git a/chernyshov_nikita_lab_2/docker-compose.yml b/chernyshov_nikita_lab_2/docker-compose.yml deleted file mode 100644 index 5f2cb34..0000000 --- a/chernyshov_nikita_lab_2/docker-compose.yml +++ /dev/null @@ -1,22 +0,0 @@ -version: '3' -services: - generator_of_data: - build: - context: ./generator_of_data - volumes: - - ./data:/var/data - app_1: - build: - context: ./app_1 - volumes: - - ./data:/var/data - - ./result:/var/result - depends_on: - - generator_of_data - app_2: - build: - context: ./app_2 - volumes: - - ./result:/var/result - depends_on: - - app_1 diff --git a/chernyshov_nikita_lab_2/generator_of_data/Dockerfile b/chernyshov_nikita_lab_2/generator_of_data/Dockerfile deleted file mode 100644 index 9ce2be9..0000000 --- a/chernyshov_nikita_lab_2/generator_of_data/Dockerfile +++ /dev/null @@ -1,7 +0,0 @@ -FROM python:3.9-slim - -WORKDIR /app - -COPY . /app - -CMD ["python", "generate_data.py"] \ No newline at end of file diff --git a/chernyshov_nikita_lab_2/generator_of_data/generate_data.py b/chernyshov_nikita_lab_2/generator_of_data/generate_data.py deleted file mode 100644 index 913ba85..0000000 --- a/chernyshov_nikita_lab_2/generator_of_data/generate_data.py +++ /dev/null @@ -1,27 +0,0 @@ -import os -import random - -def generate_random_files(directory, num_files, num_lines_per_file, min_value, max_value): - os.makedirs(directory, exist_ok=True) - - for i in range(num_files): - file_path = os.path.join(directory, f"file_{i + 1}.txt") - with open(file_path, 'w') as f: - for _ in range(num_lines_per_file): - random_number = random.randint(min_value, max_value) - f.write(f"{random_number}\n") - print(f"Generated file: {file_path}") - -def main(): - data_directory = '/var/data' - num_files = 10 - num_lines_per_file = 12 - min_value = 1 - max_value = 100 - - generate_random_files(data_directory, num_files, num_lines_per_file, min_value, max_value) - print(f"Generated {num_files} files in {data_directory}") - - -if __name__ == "__main__": - main() \ No newline at end of file