2024-10-04 14:33:05 +04:00
|
|
|
|
import os
|
|
|
|
|
|
2024-10-04 15:49:14 +04:00
|
|
|
|
# Вариант 2 - Формирует файл /var/result/data.txt из первых строк всех файлов каталога /var/data.
|
2024-10-04 14:33:05 +04:00
|
|
|
|
def solve(dir_files, dir_result, filename_result):
|
2024-10-04 15:49:14 +04:00
|
|
|
|
# Получаем список файлов в директории
|
2024-10-04 14:33:05 +04:00
|
|
|
|
filenames = os.listdir(dir_files)
|
|
|
|
|
result = ''
|
2024-10-04 15:49:14 +04:00
|
|
|
|
# Проходим через каждый файл
|
2024-10-04 14:33:05 +04:00
|
|
|
|
for filename in filenames:
|
|
|
|
|
filepath = os.path.join(dir_files, filename)
|
|
|
|
|
file = open(filepath, "r")
|
2024-10-04 15:49:14 +04:00
|
|
|
|
# Читаем первую строку, добавляем к результату
|
2024-10-04 14:33:05 +04:00
|
|
|
|
result += f"{file.readline()}"
|
|
|
|
|
file.close()
|
|
|
|
|
|
2024-10-04 15:49:14 +04:00
|
|
|
|
# Если директории для сохранения результата нет - создаём
|
2024-10-04 14:33:05 +04:00
|
|
|
|
if not os.path.exists(dir_result):
|
|
|
|
|
os.makedirs(dir_result)
|
2024-10-04 15:49:14 +04:00
|
|
|
|
# Если директория с результатом не пустая - завершаем работу
|
2024-10-04 14:33:05 +04:00
|
|
|
|
if os.listdir(dir_result):
|
|
|
|
|
return
|
2024-10-04 15:49:14 +04:00
|
|
|
|
# Пишем результат в файл
|
|
|
|
|
filepath_result = os.path.join(dir_result, filename_result)
|
|
|
|
|
result_file = open(filepath_result, "w")
|
2024-10-04 14:33:05 +04:00
|
|
|
|
result_file.write(result)
|
2024-10-04 15:49:14 +04:00
|
|
|
|
print(f"Результат записан в файл {filepath_result}")
|
2024-10-04 14:33:05 +04:00
|
|
|
|
result_file.close()
|
|
|
|
|
|
|
|
|
|
if __name__ == "__main__":
|
|
|
|
|
solve('/var/data', '/var/result', 'data.txt')
|