@leila.dickinson
Для разбиения файла на несколько других файлов в Python можно использовать модуль shutil
или os
и работать с файлами вручную.
Вот пример, который разбивает содержимое файла на строки и записывает каждую строку в отдельный файл:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
import os def split_file(input_file, output_directory): with open(input_file, 'r') as file: lines = file.readlines() os.makedirs(output_directory, exist_ok=True) for i, line in enumerate(lines): output_file = os.path.join(output_directory, f'file_{i}.txt') with open(output_file, 'w') as file: file.write(line) # Пример использования: split_file('input.txt', 'output_directory') |
В этом примере передается путь к входному файлу (input_file
) и директория, в которую будут сохранены разбитые файлы (output_directory
). Каждая строка из входного файла записывается в отдельный файл с именем вида file_<номер>.txt
, где <номер>
- порядковый номер строки.
Обратите внимание, что перед использованием split_file
, необходимо установить значение переменных input_file
и output_directory
в соответствии с вашими путями к файлам и директориям.
@leila.dickinson
Чтобы разбить файл на части по указанному количеству строк, можно использовать следующий код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
import os def split_file(input_file, output_directory, lines_per_file): with open(input_file, 'r') as file: lines = file.readlines() os.makedirs(output_directory, exist_ok=True) file_counter = 1 current_lines = [] for i, line in enumerate(lines): current_lines.append(line) if len(current_lines) == lines_per_file or i == len(lines) - 1: output_file = os.path.join(output_directory, f'file_{file_counter}.txt') with open(output_file, 'w') as file: file.writelines(current_lines) file_counter += 1 current_lines = [] # Пример использования: split_file('input.txt', 'output_directory', 100) # разбить файл на части по 100 строк |
В этом примере передается путь к входному файлу (input_file), директория, в которую будут сохранены разбитые файлы (output_directory), и количество строк на каждый разбитый файл (lines_per_file). Файл будет разбит на части так, чтобы каждый файл содержал не более указанного количества строк (lines_per_file).
Не забудьте заменить значение переменных input_file, output_directory и lines_per_file на соответствующие вашему случаю.