数据集中有中文,网络训练中报错,因此需要把其中的中文替换为英文。
利用python批量修改文件名,把文件名中的汉字自动替换成其首字母。
import os;
import pypinyin
from pypinyin import pinyin, lazy_pinyin
def rename():
path = "D://study//guyue_JPEG_guyue_classified//classified//flaw";
filelist = os.listdir(path) # 该文件夹下所有的文件(包括文件夹)
for files in filelist: # 遍历所有文件
Olddir = os.path.join(path, files); # 原来的文件路径
if os.path.isdir(Olddir): # 如果是文件夹则跳过
continue;
filename = os.path.splitext(files)[0]; # 获取文件名
# 把文件名里的汉字转换成其首字母
filename1 = pinyin(filename, style=pypinyin.FIRST_LETTER)
# 创建一个空列表
filename2 = []
for ch in filename1:
filename2.extend(ch)
# 把列表转换成没有间隔的字符串,因为文件名要以字符串形式存在
filenameToStr = ''.join(filename2)
filetype = os.path.splitext(files)[1]; # 文件扩展名
Newdir = os.path.join(path, filenameToStr + filetype); # 新的文件名
os.rename(Olddir, Newdir); # 重命名
if __name__ == '__main__':
rename();



