logo

Python批量修改文件夹(包括子文件夹)下所有文件名

作者:暴富20212024.01.17 23:08浏览量:30

简介:通过Python,我们可以使用os和glob模块来批量修改文件夹(包括子文件夹)下所有文件的名称。以下是一个简单的示例,它演示了如何使用这些模块来重命名文件夹中的所有文件。

要实现这个任务,我们可以使用Python的osglob模块。首先,你需要导入这些模块:

  1. import os
  2. import glob

然后,你可以使用os.walk()函数来遍历目录及其所有子目录中的所有文件。这个函数返回一个生成器,每次迭代都产生一个包含三个元素的元组:目录路径、目录中的文件名列表和子目录中的文件名列表。我们可以使用这个函数来遍历目录结构,并对每个文件执行重命名操作。

  1. for dirpath, dirnames, filenames in os.walk('your_directory'):
  2. for filename in filenames:
  3. old_name = os.path.join(dirpath, filename)
  4. new_name = os.path.join(dirpath, 'new_' + filename)
  5. os.rename(old_name, new_name)

在这个示例中,我们将每个文件的名称更改为’new_’ + 原文件名。你可以根据需要修改重命名的规则。
注意:os.walk()函数会遍历目录及其所有子目录。如果你只想遍历顶级目录,可以使用os.listdir()函数代替。
此外,请确保在运行重命名操作之前备份你的文件,因为一旦文件被重命名,原始文件名将无法恢复。
如果你想在批量重命名时添加更多控制,例如使用通配符来匹配特定类型的文件,你可以使用glob模块。以下是一个示例:

  1. import os
  2. import glob
  3. for filename in glob.glob('your_directory/some_pattern'): # 使用通配符匹配特定类型的文件
  4. new_name = os.path.join(os.path.dirname(filename), 'new_' + os.path.basename(filename))
  5. os.rename(filename, new_name)

在这个示例中,我们使用glob.glob()函数来匹配符合特定模式的文件,并将这些文件的名称更改为’new_’ + 原文件名。你可以根据需要修改通配符模式和重命名的规则。
请记住,在使用os.rename()函数重命名文件时,你需要提供完整的路径来指定要重命名的文件和新的文件名。此外,os.rename()函数可能会引发异常(例如,如果文件不存在或无法写入新文件),因此在实际应用中最好进行异常处理。
以上是使用Python批量修改文件夹(包括子文件夹)下所有文件名的一种方法。你可以根据自己的需求进行修改和扩展。

相关文章推荐

发表评论

活动