判断是否有中文字符
def is_chinese(string):
"""
检查整个字符串是否包含中文
:param string: 需要检查的字符串
:return: bool
"""
for ch in string:
if u'\u4e00' <= ch <= u'\u9fff':
return True
return False
正则匹配指定字符
def str_sub_find(strings, type_str = 'EN'):
'''
提取字符串里指定字符
'''
if type_str == 'CN':
return re.sub("[A-Za-z0-9\!\%\[\]\,\。]", "", strings)
elif type_str == 'EN':
return ''.join(re.findall(r'[A-Za-z\d\_\.]', strings)) #正则匹配, 需要匹配哪些就用 \ 隔开就行
else:
return strings
重命名文件
def rename_img_CN(Image_folder,Image_folder2,root_path):
input_dir= root_path + Image_folder
count = 0
for root, dirs, files in os.walk(input_dir):
if len(files) > 0:
for image_name_in in files:
if is_chinese(image_name_in):
image_name_out = str_sub_find(image_name_in)
os.rename(os.path.join(root,image_name_in),os.path.join(root, image_name_out))