最新公告
  • 欢迎您光临网站无忧模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • python如何重命名文件

    正文概述    2020-04-23   335

    python如何重命名文件

    方法一(os.listdir):

    使用此种方法会将父文件夹下的所有文件(无论文件还是文件夹)一起重命名,再下一级的文件不受影响。

    1. 加前缀/后缀

    比如,我们需要在Test2文件夹下,将子文件(无论文件还是文件夹)批量加上前缀“test-”。

    python如何重命名文件

    运行成功会有提示(我这里用的是VSCode,大家也可以用其他工具):

    python如何重命名文件

    就可以看到子文件都已经加上前缀了:

    python如何重命名文件

    python代码如下:

    import os,sys  #导入模块
    def add_prefix_subfolders():  #定义函数名称
        mark = 'test-'  #准备添加的前缀内容
        old_names = os.listdir( path )  #取路径下的文件名,生成列表
        for old_name in old_names:     #遍历列表下的文件名
            if old_name!= sys.argv[0]:    #代码本身文件路径,防止脚本文件放在path路径下时,被一起重命名
            os.rename(os.path.join(path,old_name),os.path.join(path,mark+old_name))  #子文件夹重命名
            print (old_name,"has been renamed successfully! New name is: ",mark+old_name)
    if __name__ == '__main__': 
        path = r'E:\我的学习\编程\Python\PythonTest2\Test2'  #运行程序前,记得修改主文件夹路径!
        add_prefix_subfolders()  #调用定义的函数

    加后缀一样的道理,在os.rename那里,把mark+old_name换成old_name+mark。

    自己使用时记得一要修改路径,二要修改前缀/后缀的内容。

    2. 替换重命名

    如果要把文件名从test替换为test2

    python如何重命名文件

    运行后的结果提示:

    python如何重命名文件

    子文件/文件夹就被重命名成功了。

    python如何重命名文件

    python代码如下:

    import os,sys   #导入模块
    def rename_subfolders():  #定义函数名称
        old_names = os.listdir( path )  #取路径下的文件名,生成列表
        for old_name in old_names:   #遍历列表下的文件名
            if old_name!= sys.argv[0]:  #代码本身文件路径,防止脚本文件放在path路径下时,被一起重命名
                new_name=old_name.replace('test-','test2-')  #将原来名字里的‘test’替换为‘test2’
                os.rename(os.path.join(path,old_name),os.path.join(path,new_name))  #子文件夹重命名
                print (old_name,"has been renamed successfully! New name is: ",new_name)   #输出提示
    if __name__ == '__main__': 
        path = r'E:\我的学习\编程\Python\PythonTest2\Test2'   #运行程序前,记得修改主文件夹路径!
        rename_subfolders() #调用定义的函数,注意名称与定义的函数名一致

    同样,记得修改路径,需要替换的内容。

    方法二(os.walk):

    在os.walk的方法下,可以从父文件夹路径下,只取得子文件夹进行操作。适用于父文件夹下同时存在子文件夹和子文件,但只想对子文件夹进行重命名操作的情况。

    1. 加前缀/后缀

    比如,我们需要在Test2文件夹下,将只针对子文件夹批量加上前缀“test-”。

    python如何重命名文件

    运行成功后有提示几个文件夹已经被重命名:

    python如何重命名文件

    可以看到这里只有子文件夹被重命名了,txt文件未受影响:

    python如何重命名文件

    python 代码如下:

    import os,sys  #导入模块
    def add_prefix_subfolders():  #定义函数名称
        mark = 'test-'  #准备添加的前缀内容
        for foldName, subfolders, filenames in os.walk(path):  #用os.walk方法取得path路径下的文件夹路径,子文件夹名,
        所有文件名
            for subfolder in subfolders:  #遍历列表下的子文件夹名
                os.rename(os.path.join(foldName,subfolder),os.path.join(path,mark+subfolder))  #子文件夹重命名
                print (subfolder,"has been renamed successfully! New name is: ",mark+subfolder)  #输出提示
    if __name__ == '__main__': 
        path = r'E:\我的学习\编程\Python\PythonTest2\Test2' #运行程序前,记得修改主文件夹路径!
        add_prefix_subfolders()    #调用定义的函数,注意名称与定义的函数名一致

    加后缀一样的道理,在os.rename那里,把mark+old_name换成old_name+mark。

    自己使用时记得一要修改路径,二要修改前缀/后缀的内容。

    2. 替换重命名

    如果要把文件名从test替换为test2

    python如何重命名文件

    运行成功会会有提示,几个子文件夹已经被重命名:

    python如何重命名文件

    看到只有子文件夹被重命名成功:

    python如何重命名文件

    python 代码如下:

    import os,sys     #导入模块
    def rename_subfolders():   #定义函数名称
        for foldName, subfolders, filenames in os.walk(path): #用os.walk方法取得path路径下的文件夹路径,子文件夹名,
        所有文件名
            for subfolder in subfolders:   #遍历列表下的子文件夹名
                new_name=subfolder.replace('test-','test2-')   #将原来名字里的‘test’替换为‘test2’
                os.rename(os.path.join(foldName,subfolder),os.path.join(path,new_name))  #子文件夹重命名
                print (subfolder,"has been renamed successfully! New name is: ",new_name)   #输出提示
    if __name__ == '__main__': 
            path = r'E:\我的学习\编程\Python\PythonTest2\Test2' #运行程序前,记得修改主文件夹路径!
            rename_subfolders()  #调用定义的函数,注意名称与定义的函数名一致

    同样,记得修改路径,需要替换的内容。

    python学习网,免费的在线学习python平台,欢迎关注!


    下载网 » python如何重命名文件

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元