Оптимизировать синхронизацию (обновление) больших каталогов в Python.Python

Программы на Python
Ответить
Anonymous
 Оптимизировать синхронизацию (обновление) больших каталогов в Python.

Сообщение Anonymous »

Пишу программу для обновления каталога, но на реальных больших (более 1Гб) каталогах код работает очень долго. Подскажите, пожалуйста, способы оптимизации
if os.path.isdir(src):
self.sync_directories(src, dst) # function from below

for root_dir, _, files in os.walk(src):
rel_path = os.path.relpath(root_dir, src)
dest_dir = os.path.join(dst, rel_path)

if not os.path.exists(dest_dir):
os.makedirs(dest_dir)

for file in files:
src_file = os.path.join(root_dir, file)
dest_file = os.path.join(dest_dir, file)

if file.startswith('.') or self.is_hidden(src_file):
continue

if not os.path.exists(dest_file):
try:
shutil.copy2(src_file, os.path.dirname(dest_dir))
except (IOError, OSError) as e:
return False
return True
else:
logging.error
return False

def sync_directories(self, src, dst):
try:
sync(src, dst, 'sync', purge=True) #purge True
except Exception as e:
print")


Подробнее здесь: https://stackoverflow.com/questions/792 ... -in-python
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»