在Python中os模块里,os.renames()
方法用于递归重命名目录或文件。类似rename()。
rename()方法语法格式如下:
os.rename(old,new)
old是需要修改的目录/文件名,new是修改后的目录/文件名,通过这个方法我们可以很轻松的完成批量在文件/目录增加固定前缀或者批量删除文件/目录固定前缀 。
以下代码Windows下和Linux都可以使用。
示例如下:
增加前缀'[Linuxidc.]':
1
2
3
4
5
6
7
8
9
|
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) |
运行后输出如下:
删除前缀'[Linuxidc.]':
1
2
3
4
5
6
7
8
9
10
|
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]
在Windows下还需要注意一下文件路径应使用双斜杠// ,否则会出现错误,Linux下一般不会出现此错误。
总结
以上所述是小编给大家介绍的Python3 实现文件批量重命名示例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
原文链接:https://www.linuxidc.com/Linux/2019-06/158935.htm