При переносе файлов с одного сервера на другой, файлы содержащие кириллицу «Безымянный-коллаж-min.jpg» в имени изменились на «#U0411#U0435#U0437#U044b#U043c#U044f#U043d#U043d#U044b#U0439-#U043a#U043e#U043b#U043b#U0430#U0436-min.jpg»
Я написал скрипт на Python3, чтобы переименовать файлы, путем замены «#U» -> «/u»
#!/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)
# ----