python遍历文件夹并改名

先来了解下几个模块:
os.walk()是一个简单易用的文件,目录遍历器 语法格式:os.walk(filepath,topdown=True,onerror=None,followlinks=False) filepath:需要遍历的文件目录地址,返回一个元组,元组的内容有三个部分: 遍历的目录地址 当遍历的目录地址下包含有其他文件夹时,所有的文件夹名生成一个列表进行返回,如果没有文件夹则返回空列表 将遍历目录下的所有文件的文件名生成一个列表返回 可选参数: topdown:遍历优先级设置,可选,默认为 True。为True时优先遍历top目录,为False时优先遍历 top的子目录。 onerror:异常信息,当walk异常时,会调用。 followlinks:默认关闭,未看到明显变化。
os.path.join(filepath,filename):将目录和文件名合并为一个路径
os.path.splitext(path):返回文件路径或文件名和文件的扩展名
实例1:以列表形式返回目录下的文件及子文件夹下的文件 import os for (root,dirs,files) in os.walk("E:/pythonwork/userxinzhiliao/yanzheng"): print(files) 返回两行内容: 第一行为yanzheng文件夹中的文件 第二行为yanzheng文件夹下log文件夹中的文件 实例2:获取指定目录的文件的名称,按条件修改名称并复制到新的目录
import os
for (root,dirs,files) in os.walk("E:\old"):
    i=1  #新文件名中包含的序号
    j=1  #新文件名中包含的序号
    for f in files:
#通过 os.path.join将目录和文件名进行拼接
        old_path = os.path.join(root,f)
 # 将获取的文件名分解为 文件名和扩展名
        (shotname, extension) = os.path.splitext(f)
 #判断文件名中是否包含old字符,包含则执行下面的内容
        if 'old' in shotname:
#拼接新的文件名为,窦性+文件序号i+扩展名
            new_name = "窦性"+str(i)+ extension
#拼接新文件的路径
            new_path = os.path.join("E:/new1", new_name)
            i = i + 1
 #判断文件名中是否包含new字符,包含则执行下面的内容
        elif 'new' in shotname:
#拼接新的文件名为,房颤+文件序号j+扩展名
            new_name = "房颤"+str(j)+ extension
#拼接新文件的路径
            new_path = os.path.join("E:/new2", new_name)
            j = j + 1
#将原文件按照上面的判断条件赋值到对应的新路径并修改为新名称
        open(new_path,'wb').write(open(old_path,'rb').read())

 

 

 

 

posted @ 2021-02-04 11:46  771293871  阅读(925)  评论(0)    收藏  举报