mirror of
https://github.com/Ground-Zerro/DomainMapper.git
synced 2025-12-10 01:47:18 +07:00
Create split.py
This commit is contained in:
48
utilities/split.py
Normal file
48
utilities/split.py
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
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)
|
||||||
Reference in New Issue
Block a user