2024-09-24 18:13:22 +04:00
from pathlib import Path
import os
2024-09-24 21:07:33 +04:00
# Путь к папке, где будут создаваться файлы
2024-09-24 18:13:22 +04:00
folder_path = ' /result '
2024-09-24 21:07:33 +04:00
# Путь к папке, где созданы файлы
2024-09-24 18:13:22 +04:00
folder_generator = ' /data '
2024-09-24 21:07:33 +04:00
# Функция для создания папки, если она не существует
2024-09-24 18:13:22 +04:00
def creat_folder ( ) :
if not os . path . exists ( folder_path ) :
os . makedirs ( folder_path )
print ( f " Папка ` { folder_path } ` создана! " )
else :
print ( f " Папка ` { folder_path } ` уже существует! " )
2024-09-24 21:07:33 +04:00
# Функция для удаления всех файлов в папке
2024-09-24 18:13:22 +04:00
def delete_files_in_folder ( ) :
for filename in os . listdir ( folder_path ) :
file_path = os . path . join ( folder_path , filename )
try :
if os . path . isfile ( file_path ) :
os . remove ( file_path )
print ( f " Файл ` { file_path } ` удален. " )
except Exception as e :
print ( f ' Ошибка при удалении файла { file_path } . { e } ' )
2024-09-24 21:07:33 +04:00
# Функция для создания файлов
2024-09-24 18:13:22 +04:00
def creat_file ( ) :
file = open ( f ' { folder_path } /data.txt ' , ' w+ ' )
print ( f " Создан файл: { folder_path } /data.txt " )
for count in files_count ( ) :
file . write ( f ' { count } \n ' )
file . close ( )
2024-09-24 21:07:33 +04:00
# Функция для подсчета количества строк в файлах
2024-09-24 18:13:22 +04:00
def files_count ( ) :
files = [ ]
files_count = [ ]
files + = os . listdir ( folder_generator )
for file in files :
line_count = sum ( 1 for line in open ( folder_generator + ' / ' + file ) )
files_count . append ( line_count )
print ( f " Файл { file } имеет { line_count } количество строк " )
return files_count
2024-09-24 21:07:33 +04:00
# Основная логика: проверка существования папки и выполнение операций
2024-09-24 18:13:22 +04:00
if os . path . exists ( folder_path ) :
print ( f " Папка ` { folder_path } ` существует, удаляем старые файлы... " )
delete_files_in_folder ( )
creat_file ( )
else :
print ( f " Папка ` { folder_path } ` не существует, создаем... " )
creat_folder ( )
creat_file ( )
print ( " Скрипт на задание 1.3 (Формирует файл /var/result/data.txt так, что каждая строка файла - количество строк в файлах из каталога /var/data.) выполнен. " )