os模块提供了很多有用高效的基本函数, 其中rename是给文件重命名的, 这个用过无数遍了, 而os.names还么有用过, 从名字推测, 应该是批量重命名的意思吧.
os.rename(old_path, new_path)
测试os.rename()
os.rename() 重命名文件
代码示例, 可以看到, 文件file_b.txt被成功重命名为file_b.txt, 目录结构为:
运行代码:
重命名成功, 结果:
os.rename() 重命名路径
可以看到, 仅修改上层目录, 文件名不变, 行不通.
os.rename() 重命名文件+路径
可以看到, 也行不通.
测试os.renames()
os.renames() 重命名文件:
成功.
os.renames() 重命名路径:
运行成功: 原本的 /a/file_d.txt 被重命名为 /x/file_d.txt
os.renames() 重命名路径+文件名
运行成功, 路径和文件都重命名成功.
总结:
- os.rename(old_file_path, new_file_path), 只能对相应的文件进行重命名, 不能重命名文件的上级目录名.
- os.renames(old_file_path, new_file_path), 是os.rename的升级版, 既可以重命名文件, 也可以重命名文件的上级目录名.