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


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

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

os.rename(old,new)

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

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

示例如下:

增加前缀’[Linuxidc.]’:

import os
path='/home/linuxidc/linuxboy.net'
old_dir=os.listdir(path) #获取/home/linuxidc/linuxboy.net目录下的所有文件目录
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/linuxboy.net'
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.]linuxboy.net.sh', '[Linuxidc.]kakoune', '[Linuxidc.]linuxidc', '[Linuxidc.]linuxidc.Java', '[Linuxidc.]linuxboy.net.jpg', '[Linuxidc.]opencv-3.4.0', '[Linuxidc.]linuxidc.class', '[Linuxidc.]linuxboywww.linuxboy.net.py', '[Linuxidc.]linuxboy.net.txt', '[Linuxidc.]linuxidc.txt', '[Linuxidc.]linuxidcbuild', '[Linuxidc.]amp', 'www.linuxboy.net.py', '[Linuxidc.]linuxidc.sh', '[Linuxidc.]linuxisdc.com.jpg', '[Linuxidc.]www.linuxboy.net', '[Linuxidc.]linuxboy.net.png', '[Linuxidc.].vimrc', '[Linuxidc.]tupian']
现在的目录为['linuxidc.txt', 'www.linuxboy.net', 'linuxidc.java', 'linuxboy.net.png', 'amp', 'linuxboywww.linuxboy.net.py', 'linuxidc.class', 'linuxisdc.com.jpg', 'linuxidc', 'opencv-3.4.0', 'www.linuxboy.net.py', 'linuxboy.net.sh', '.vimrc', 'linuxidcbuild', 'kakoune', 'tupian', 'linuxidc.sh', 'linuxboy.net.txt', 'linuxboy.net.jpg']
[Finished in 0.1s]

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

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

https://www.linuxboy.net/topicnews.aspx?tid=17

linuxboy的RSS地址:https://www.linuxboy.net/rssFeed.aspx

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

相关内容

    暂无相关文章