Python编程练习4:用Python将修改文件后缀名

问题:把某目录及其子目录下所有dat文件后缀改为txt

如果单改某一文件夹下的文件后缀,只需要批处理命令就能完成。如下

ren *.dat  *.txt

利用python完成这样的功能需要引入os模块。思路是先遍历目录下所有文件,判断后缀是否dat,如果是就更改为txt。

代码如下:

##python批量更换后缀名

import os

# 列出当前目录下所有的文件

files = os.listdir('.')
print('files',files)

def renaming(files):
    '''修改后缀'''
    for filename in files:
        name = os.path.splitext(filename)
        # 如果后缀是.dat
        if name[1] == ".dat":
            # 重新组合文件名和后缀名
            newname = name[0] + ".txt"
            os.rename(filename,newname)

if __name__ == '__main__':
    renaming(files)

当然,这段代码只能处理目录下的所有文件,对于子目录是没有办法的。

下一步希望成对目录下所有文件(包括子目录)进行处理。

Python编程练习4:用Python将修改文件后缀名

思路:对目录进行递归

def listing(path):
    files = os.listdir('.') # 获取当前目录下的文件和目录
    for file in files:
        file_path = os.path.join(path,file) #获取文件的路径
        if os.path.isdir(file_path): #判断是否为文件夹
            listing(file_path) #开始递归
        else:
            os.chdir(path) #修改工作地址            
            renaming(file)#修改后缀

这段代码可能有点问题,后续再更

© 版权声明
THE END
点赞13打赏 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容