批量修改还有汉字的文件名
import os
import re
path = "./data/test"
path_list = os.listdir(path) # 获取当前文件下所有文件
for path_name in path_list:
dir_path = path + "/" + path_name # 拼接老路径
new_pn = re.sub("[\u4e00-\u9fa5]" ,"",path_name) # 使用正则表达式去除含有汉字
new_dp = path + "/" + new_pn # 去除汉字后的名字
os.rename(dir_path,new_pn) # 修改名字
使用切片实现trim函数功能
实现中遇到的问题:第一for 没有使用break.导致一直为空。进行问题查找时候没有看代码,一直想着运行找错。这个行为很不好。
第二 进行去除后面的空字符串,需要逆切边,注意前开后闭。最后的结果是逆序的需要在逆回来。
def trim4(s):
... c = 0
... for ind in s[::]:
... if ind != " ":
... s = s[c::]
... break
... c += 1
... c = -1
... for ind in s[-1::-1]:
... if ind != " ":
... s = s[c:-len(s)-1:-1]
... s = s[::-1]
... break
... c -=1
... return s