• 技术文章 >后端开发 >Python教程

    python怎么重命名文件

    青灯夜游青灯夜游2023-03-02 17:24:42原创135

    在python中,可以利用os包的rename()函数来重命名文件(目录),语法“os.rename(src_path,dst_path)”,可将src_path的文件重命名为dst_path。因为rename()是os包提供的一个函数,想要使用该函数需要先引入os包,语法“import os”。

    对文件进行重命名

    直接贴代码:

    import os
    srcFile = './actwork/linkFile/allExtLinks - 副本.txt'
    dstFile = './actwork/linkFile/allExtLinks - copy.txt'
    try:
        os.rename(srcFile,dstFile)
    except Exception as e:
        print(e)
        print('rename file fail\r\n')
    else:
        print('rename file success\r\n')

    对文件夹下文件按顺序重命名

    在处理机器学习的图片时,需要将图片根据类别放入不同文件夹中,在文件夹下也想将图片用数字递增重命名一下,方便后续处理。

    首先,我们看一下python的重命名函数:

    os.rename(src,dst)

    如果dst是一个存在的目录, 将抛出OSError。

    注意:src和dst都是完整路径+文件名

    首先,我们先对文件夹重命名

    先使用最简单的方法尝试一下

    import os
    def myrename(path):
        file_list=os.listdir(path)
        i=0
        for fi in file_list:
            old_name=os.path.join(path,fi)
            new_name=os.path.join(path,str(i))
            os.rename(old_name,new_name)
            i+=1
    if __name__=="__main__":
        path="D:/test/121"
        myrename(path)

    1.png

    我们就可以看到文件夹已经按照顺序重命名了

    稍微改动一下,显得没有那么low

    import os
    def myrename(path):
        file_list=os.listdir(path)
        for i,fi in enumerate(file_list):
            old_name=os.path.join(path,fi)
            new_name=os.path.join(path,"N0."+str(i))
            os.rename(old_name,new_name)
    if __name__=="__main__":
        path="D:/test/121"
        myrename(path)

    2.png

    效果是一样的,enumerate函数的作用就不再赘述了,我们还可以使用python zip来进行修改:

    import os
    def myrename(path):
        file_list=os.listdir(path)
        for i,fi in zip(range(len(file_list)),file_list):
            old_name=os.path.join(path,fi)
            new_name=os.path.join(path,"The."+str(i))
            os.rename(old_name,new_name)
    if __name__=="__main__":
        path="D:/test/121"
        myrename(path)

    效果一样:

    3.png

    接下来我们对文件进行重命名

    上面的三种方法都是可以使用的,只需要稍微改动一下,我以函数enumerate为例演示一下:

    4.png

    先建一个文本文档

    复制粘贴一堆,作为测试用,在函数中加入一个try-except,防止文件重命名出错,这里重命名需要是相同格式的文件,否则就会报错:

    import os
    def myrename(path):
        file_list=os.listdir(path)
        for i,fi in enumerate(file_list):
            old_dir=os.path.join(path,fi)
            filename="my"+str(i+1)+"."+str(fi.split(".")[-1])
            new_dir=os.path.join(path,filename)
            try:
                os.rename(old_dir,new_dir)
            except Exception as e:
                print(e)
                print("Failed!")
            else:
                print("SUcess!")
    if __name__=="__main__":
        path="D:/test/121"
        myrename(path)

    5.png

    【相关推荐:Python3视频教程

    以上就是python怎么重命名文件的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:python
    上一篇:python支持的操作系统有哪些 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • Python安装第三方库常用方法总结• python中怎么合并两个列表• python中“+=”是什么意思• 一文看懂Python爬虫• python多行注释符号是什么
    1/1

    PHP中文网