31 lines
1.2 KiB
Python
31 lines
1.2 KiB
Python
|
import os
|
|||
|
import shutil
|
|||
|
|
|||
|
# Пути к директориии для поиска и файла для сохранения
|
|||
|
source_dir = '/var/data'
|
|||
|
destination_file = '/var/result/data.txt'
|
|||
|
|
|||
|
# Простая функция дл подсчёта строк в файле. Настроили для работы с кириллицей (utf-8)
|
|||
|
def count_lines(filepath):
|
|||
|
with open(filepath, 'r', encoding='utf-8', errors='ignore') as f:
|
|||
|
return sum(1 for _ in f)
|
|||
|
|
|||
|
# Старт поиска файла по условию (самое большое кол-во строк)
|
|||
|
max_lines = 0
|
|||
|
max_file = None
|
|||
|
|
|||
|
for filename in os.listdir(source_dir):
|
|||
|
file_path = os.path.join(source_dir, filename)
|
|||
|
|
|||
|
if os.path.isfile(file_path):
|
|||
|
lines = count_lines(file_path)
|
|||
|
if lines > max_lines:
|
|||
|
max_lines = lines
|
|||
|
max_file = file_path
|
|||
|
|
|||
|
# Копирование файла с самым большим кол-вом строчек в нужную директорию
|
|||
|
if max_file:
|
|||
|
shutil.copy(max_file, destination_file)
|
|||
|
print(f"{max_file} с кол-вом строк {max_lines} был перемещен в {destination_file}")
|
|||
|
else:
|
|||
|
print("Указанная директория пустая :(")
|