手机版
你好,游客 登录 注册
背景:
阅读新闻

Python3 文件批量重命名操作示例

[日期:2019-06-03] 来源:Linux社区  作者:Linux [字体: ]

Python中os模块里,os.renames() 方法用于递归重命名目录或文件。类似rename()。

rename()方法语法格式如下:

os.rename(old,new)

old是需要修改的目录/文件名,new是修改后的目录/文件名,通过这个方法我们可以很轻松的完成批量在文件/目录增加固定前缀或者批量删除文件/目录固定前缀 。

以下代码Windows下和Linux都可以使用。

示例如下:

增加前缀’[Linuxidc.]’:

import os
path='/home/linuxidc/linuxidc.com'
old_dir=os.listdir(path) #获取/home/linuxidc/linuxidc.com目录下的所有文件目录
print("原始目录为 %s"%old_dir)
for i in old_dir:
    new_name='[Linuxidc.]'+i
    os.rename(i,new_name)
new_dir=os.listdir(path)
print("现在的目录为%s"%new_dir)

运行后输出如下:

Python3 文件批量重命名操作示例

删除前缀’[Linuxidc.]’:

import os
path='/home/linuxidc/linuxidc.com'
old_dir=os.listdir(path)
print("原始目录为 %s"%old_dir)
for i in old_dir:
    shu=i.rfind(']') #获取到']'的位置
    new_name=i[shu+1:]
    os.rename(i,new_name)
new_dir=os.listdir(path)
print("现在的目录为%s"%new_dir)

运行后输出如下:

原始目录为 ['[Linuxidc.]linuxidc.com.sh', '[Linuxidc.]kakoune', '[Linuxidc.]linuxidc', '[Linuxidc.]linuxidc.Java', '[Linuxidc.]linuxidc.com.jpg', '[Linuxidc.]opencv-3.4.0', '[Linuxidc.]linuxidc.class', '[Linuxidc.]Linux公社www.linuxidc.com.py', '[Linuxidc.]linuxidc.com.txt', '[Linuxidc.]linuxidc.txt', '[Linuxidc.]linuxidcbuild', '[Linuxidc.]amp', 'www.linuxidc.com.py', '[Linuxidc.]linuxidc.sh', '[Linuxidc.]linuxisdc.com.jpg', '[Linuxidc.]www.linuxidc.com', '[Linuxidc.]linuxidc.com.png', '[Linuxidc.].vimrc', '[Linuxidc.]tupian']
现在的目录为['linuxidc.txt', 'www.linuxidc.com', 'linuxidc.java', 'linuxidc.com.png', 'amp', 'Linux公社www.linuxidc.com.py', 'linuxidc.class', 'linuxisdc.com.jpg', 'linuxidc', 'opencv-3.4.0', 'www.linuxidc.com.py', 'linuxidc.com.sh', '.vimrc', 'linuxidcbuild', 'kakoune', 'tupian', 'linuxidc.sh', 'linuxidc.com.txt', 'linuxidc.com.jpg']
[Finished in 0.1s]

Python3 文件批量重命名操作示例

在Windows下还需要注意一下文件路径应使用双斜杠// ,否则会出现错误,Linux下一般不会出现此错误。

更多Python相关信息见Python 专题页面 https://www.linuxidc.com/topicnews.aspx?tid=17

Linux公社的RSS地址https://www.linuxidc.com/rssFeed.aspx

本文永久更新链接地址https://www.linuxidc.com/Linux/2019-06/158935.htm

linux
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款