结合os模块和递归思想,把某一文件夹下的所有文件重命名 python_xxx
时间: 2024-02-16 15:03:19 浏览: 55
可以使用`os`模块中的`walk()`方法来遍历某一文件夹下的所有文件和子文件夹,然后对每个文件进行重命名操作。具体实现可以参考以下代码:
```python
import os
def rename_files(path):
"""
递归重命名指定路径下的所有文件和子文件夹中的文件
"""
for root, dirs, files in os.walk(path):
for filename in files:
# 获取文件的完整路径
filepath = os.path.join(root, filename)
# 获取文件的扩展名
ext = os.path.splitext(filename)[1]
# 生成新的文件名
new_filename = 'python_' + os.path.splitext(filename)[0] + ext
# 重命名文件
os.rename(filepath, os.path.join(root, new_filename))
for dirname in dirs:
# 递归处理子文件夹
rename_files(os.path.join(root, dirname))
# 测试代码
rename_files('/path/to/folder')
```
在这个例子中,`rename_files()`函数接收一个路径作为参数,并使用`os.walk()`方法遍历该路径下的所有文件和子文件夹。对于每个文件,它首先获取文件的完整路径,然后使用`os.path.splitext()`方法获取文件的扩展名。接着,它生成新的文件名,并使用`os.rename()`方法重命名文件。最后,它递归处理所有子文件夹,以确保所有文件都被重命名。
阅读全文