mirror of
https://github.com/Ground-Zerro/DomainMapper.git
synced 2025-12-10 01:47:18 +07:00
48 lines
2.1 KiB
Python
48 lines
2.1 KiB
Python
def split_file_exact(input_file, max_lines=1000):
|
||
"""
|
||
Разбивает файл согласно точному описанию:
|
||
- В исходном файле оставляет первые 1000 строк
|
||
- Остальные строки переносит в domain-ip-resolve2.txt, domain-ip-resolve3.txt и т.д.
|
||
"""
|
||
|
||
try:
|
||
# Читаем все строки из исходного файла
|
||
with open(input_file, 'r', encoding='utf-8') as f:
|
||
lines = f.readlines()
|
||
|
||
total_lines = len(lines)
|
||
|
||
if total_lines <= max_lines:
|
||
print(f"Файл содержит {total_lines} строк, разбиение не требуется.")
|
||
return
|
||
|
||
# Оставляем первые 1000 строк в исходном файле
|
||
with open(input_file, 'w', encoding='utf-8') as f:
|
||
f.writelines(lines[:max_lines])
|
||
|
||
# Остальные строки распределяем по новым файлам
|
||
remaining_lines = lines[max_lines:]
|
||
num_additional_files = (len(remaining_lines) + max_lines - 1) // max_lines
|
||
|
||
for i in range(num_additional_files):
|
||
start_index = i * max_lines
|
||
end_index = min((i + 1) * max_lines, len(remaining_lines))
|
||
|
||
output_file = f"domain-ip-resolve{i+2}.txt"
|
||
|
||
with open(output_file, 'w', encoding='utf-8') as f:
|
||
f.writelines(remaining_lines[start_index:end_index])
|
||
|
||
print(f"Создан файл {output_file} со строками {max_lines + start_index + 1}-{max_lines + end_index}")
|
||
|
||
print(f"Разбиение завершено. Создано {num_additional_files} дополнительных файлов.")
|
||
|
||
except FileNotFoundError:
|
||
print(f"Ошибка: Файл {input_file} не найден.")
|
||
except Exception as e:
|
||
print(f"Произошла ошибка: {e}")
|
||
|
||
# Использование
|
||
if __name__ == "__main__":
|
||
input_filename = "domain-ip-resolve.txt"
|
||
split_file_exact(input_filename) |