(1)删除文件名前缀; 如 “ www.cn-ki.net_ ”。
(2)删除指定字符之后的内容;如 ”_张三“ 、 “_李四” 、 ”_Mike“ 等。
(1)删除前缀函数 str.lstrip()
将字符串s中的’aabb_‘删除,运行结果如图:
(2)删除指定字符之后内容,使用函数 str.partition()
将字符串s中的’_aabb‘删除,运行结果如图:
Python 3.6.4
所用模块:import os
(一)打开文件夹,获得旧文件名
path=r"D:\exp\resultdata" //文件夹途径
for (root, dirs, files) in os.walk(path):
os.walk(path)//遍历D:\exp\resultdata下文件
(二)获得新文件名(如何打开一个文件)
一般新文件名都保存在一个文件中
new_names_files=open('文件名.txt','r')
content=open('文件名.txt','r')(此时content是一个含有所有new name 的列表)
注意:对新名字(字符串)会有一些 *** 作
(1)对文件名(字符)的分割
用split()进行分割
a=''wer.werrew/"
(2)list 添加新的元素、
用append()进行添加
(3)字典添加新的元素
用update()进行添加
实例:
(三)重命名
利用os.rename()函数
实例:旧名字与新名字的数字相对
file=['1.max','2.max'……]//旧名字
for file in files:
oldname = os.path.join(root,file)
namesp=file.split('.')
new_namesp=d[int(namesp[0])]//数字相对
newname = os.path.join(root,new_namesp)
os.rename(oldname,newname)
方法有很多,例如使用首尾位置标记^$+非法字符集[^]实现:
regex = r'^[^\\/:\*\?"<>\|]+$' #不能为空,不能含有\/:*?"<>|等字符tests = ['abc_def',
'abc.def',
'abc/def',
'\?"',
'']
matches = [i for i in tests if re.match(regex,i)]
print(matches)
还可以通过负向零宽断言(?!)等方式实现。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)