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