Untitled
unknown
plain_text
a year ago
2.7 kB
8
Indexable
import os import re import unicodedata BANG_XOA_DAU = str.maketrans( "ÁÀẢÃẠĂẮẰẲẴẶÂẤẦẨẪẬĐÈÉẺẼẸÊẾỀỂỄỆÍÌỈĨỊÓÒỎÕỌÔỐỒỔỖỘƠỚỜỞỠỢÚÙỦŨỤƯỨỪỬỮỰÝỲỶỸỴáàảãạăắằẳẵặâấầẩẫậđèéẻẽẹêếềểễệíìỉĩịóòỏõọôốồổỗộơớờởỡợúùủũụưứừửữựýỳỷỹỵ", "A" * 17 + "D" + "E" * 11 + "I" * 5 + "O" * 17 + "U" * 11 + "Y" * 5 + "a" * 17 + "d" + "e" * 11 + "i" * 5 + "o" * 17 + "u" * 11 + "y" * 5 ) def traverse_folder(folder_path): file_list = [] for root, dirs, files in os.walk(folder_path): for file in files: file_list.append(os.path.join(root, file)) return file_list def xoa_dau(txt: str) -> str: if not unicodedata.is_normalized("NFC", txt): txt = unicodedata.normalize("NFC", txt) return txt.translate(BANG_XOA_DAU) def thay_the_ky_tu_dac_biet(txt: str) -> str: special_char_pattern = re.compile(r'[^a-zA-Z0-9/_\-\.]') return special_char_pattern.sub(' ', txt) def file_name_remove_epub(txt: str) -> str: return '.'.join(txt.split('.')[:-2]) + '.json' file_new_paths = [] folder_path = r'I:\sonat\book\ebookvie_book_json' data_book_file_paths = traverse_folder(folder_path) file_old_paths = [] for old_path in data_book_file_paths: directory, filename = os.path.split(old_path) filename_no_accent = xoa_dau(filename) filename_replaced = thay_the_ky_tu_dac_biet(filename_no_accent) file_name_json = file_name_remove_epub(filename_replaced) index_count = 0 while True: if index_count == 0: file_name_json_new = file_name_json else: file_name_json_new = '.'.join(file_name_json.split('.')[:-1]) + ' ' + str(index_count) + '.json' contain = False for i in range(len(file_new_paths)): if file_name_json_new.lower() == file_new_paths[i].lower(): contain = True break if contain == False: file_name_json = file_name_json_new break index_count += 1 file_new_paths.append(file_name_json) new_path = os.path.join(directory, file_name_json) print(f"Old path : {old_path}") print(f"New path : {new_path}") print("-" * 20) # Đổi tên file từ đường dẫn cũ sang đường dẫn mới os.rename(old_path, new_path) # print(f"Đã đổi tên: {old_path} -> {new_path}")
Editor is loading...
Leave a Comment