Advertisement
Nenogzar

Untitled

Nov 14th, 2023
673
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.64 KB | None | 0 0
  1. from googletrans import Translator
  2. import os
  3. import re
  4.  
  5. def translate_and_format_name(english_name):
  6.     translator = Translator()
  7.     translated = translator.translate(english_name, src='en', dest='bg')
  8.     translated_text = translated.text.lower().replace(" ", "_")
  9.     translated_text = re.sub(r'[-\s]+', '_', translated_text)
  10.     translated_text = re.sub(r'_+', '_', translated_text)
  11.     return translated_text
  12.  
  13. def rename_directory(old_path, new_path):
  14.     try:
  15.         os.rename(old_path, new_path)
  16.         print(f'Името на директорията "{old_path}" е успешно променено на "{new_path}"')
  17.     except OSError as e:
  18.         print(f'Грешка при промяната на името на директорията "{old_path}": {e}')
  19.  
  20. main_directory = input(r'C:\Users\Alka\Downloads')
  21.  
  22. confirmation = input(f'Сигурни ли сте, че искате да преименувате директориите в "{main_directory}"? (да/не): ')
  23.  
  24. if confirmation.lower() != 'да':
  25.     print('Операцията беше отказана.')
  26. else:
  27.     for dirpath, dirnames, filenames in os.walk(main_directory):
  28.         for dirname in dirnames:
  29.             old_path = os.path.join(dirpath, dirname)
  30.  
  31.             new_name_bg = translate_and_format_name(dirname)
  32.             new_path = os.path.join(dirpath, new_name_bg)
  33.  
  34.             if new_name_bg == dirname:
  35.                 print(f'Прескачане на директорията "{dirname}", тъй като е вече преведено и форматирано.')
  36.                 continue
  37.  
  38.             rename_directory(old_path, new_path)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement