Переименование файлов Python

При переносе файлов с одного сервера на другой, файлы содержащие кириллицу «Безымянный-коллаж-min.jpg» в имени изменились на «#U0411#U0435#U0437#U044b#U043c#U044f#U043d#U043d#U044b#U0439-#U043a#U043e#U043b#U043b#U0430#U0436-min.jpg»

Я написал скрипт на Python3, чтобы переименовать файлы, путем замены «#U» -> «/u»

Github repository ? ?

#!/usr/bin/python3
# Найти и переименовать имена файлов в директории и поддиректориях
# файлы с именем #U0411#U0435#U0437#U044b#U043c#U044f#U043d#U043d#U044b#U0439-#U043a#U043e#U043b#U043b#U0430#U0436-min.jpg
import os
count = 0; 
thisdir = os.path.dirname(os.path.abspath(__file__)) # текущая дериктория, там где лежит файл скрипта

file_name = thisdir+'/list_file.txt'
to_file = ""

for d, dirs, files in os.walk(thisdir):
    for f in files: 
        # print (d) # директория
        data_find = f.find('#U')
        if(data_find != -1):
            print (f)
            # ---------------------
            # что на что заменяем, чтобы привести имя файла к виду
            # Безымянный-коллаж-min.jpg
            # \u0411\u0435\u0437\u044b\u043c\u044f\u043d\u043d\u044b\u0439-\u043a\u043e\u043b\u043b\u0430\u0436-min.jpg
            f2 = f.replace('#U', "\\u") 
            # ---------------------
            f2 = f2.encode('utf-8').decode('unicode-escape') # декодируем строку
            print (f2)
            to_file = to_file +d+"/"+f+ "\n" +d+"/"+f2+ "\n\n" #формируем строку для файла
            os.rename(d+"/"+f, d+"/"+f2) # переименовываем файлы
            count = count + 1
print(count) 

# ----
# записываем в файл
with open(file_name, 'w') as output_file:
    output_file.write(to_file)
# ----

Вам также может понравиться

About the Author: Vladimir Kusakin

Hi. I am web developer. For the past 9 years, I've been developing applications for the web using mostly PHP and Python. About me

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *