avatar

RWO.cc

读一次写一次

  • 首页
  • 搭建手册
  • 笔记
  • 短视频
  • 关于
  • 🌈200粉丝🌈
Home Python 文件批量重命名
文章

Python 文件批量重命名

Posted 2024-10-20 Updated 2024-10- 19
By RWO.
9~11 min read

在 Python 中,可以使用 os 模块或 pathlib 模块来批量重命名文件。下面是一些示例,展示如何批量重命名文件。

使用 os 模块批量重命名文件

示例:将文件名添加前缀

import os

def batch_rename(directory, prefix):
    try:
        for filename in os.listdir(directory):
            old_path = os.path.join(directory, filename)
            if os.path.isfile(old_path):
                new_filename = prefix + filename
                new_path = os.path.join(directory, new_filename)
                os.rename(old_path, new_path)
                print(f"{old_path} 已重命名为 {new_path}")
    except Exception as e:
        print(f"发生错误: {e}")

# 示例调用
batch_rename('path_to_directory', 'prefix_')

示例:将文件名中的空格替换为下划线

import os

def batch_rename(directory):
    try:
        for filename in os.listdir(directory):
            old_path = os.path.join(directory, filename)
            if os.path.isfile(old_path):
                new_filename = filename.replace(' ', '_')
                new_path = os.path.join(directory, new_filename)
                os.rename(old_path, new_path)
                print(f"{old_path} 已重命名为 {new_path}")
    except Exception as e:
        print(f"发生错误: {e}")

# 示例调用
batch_rename('path_to_directory')

使用 pathlib 模块批量重命名文件

示例:将文件名添加后缀

from pathlib import Path

def batch_rename(directory, suffix):
    path = Path(directory)
    try:
        for file in path.iterdir():
            if file.is_file():
                new_filename = file.stem + suffix + file.suffix
                new_path = file.with_name(new_filename)
                file.rename(new_path)
                print(f"{file} 已重命名为 {new_path}")
    except Exception as e:
        print(f"发生错误: {e}")

# 示例调用
batch_rename('path_to_directory', '_suffix')

示例:将文件扩展名修改为 .txt

from pathlib import Path

def batch_rename(directory):
    path = Path(directory)
    try:
        for file in path.iterdir():
            if file.is_file():
                new_path = file.with_suffix('.txt')
                file.rename(new_path)
                print(f"{file} 已重命名为 {new_path}")
    except Exception as e:
        print(f"发生错误: {e}")

# 示例调用
batch_rename('path_to_directory')

综合示例

以下是一个综合示例,展示如何批量重命名文件,包括添加前缀、替换空格和更改扩展名。

import os
from pathlib import Path

# 使用 os 模块批量重命名文件
def batch_rename_os(directory, prefix, suffix, replace_space):
    try:
        for filename in os.listdir(directory):
            old_path = os.path.join(directory, filename)
            if os.path.isfile(old_path):
                new_filename = filename
                if replace_space:
                    new_filename = new_filename.replace(' ', '_')
                new_filename = prefix + new_filename + suffix
                new_path = os.path.join(directory, new_filename)
                os.rename(old_path, new_path)
                print(f"{old_path} 已重命名为 {new_path}")
    except Exception as e:
        print(f"发生错误: {e}")

# 使用 pathlib 模块批量重命名文件
def batch_rename_pathlib(directory, prefix, suffix, replace_space):
    path = Path(directory)
    try:
        for file in path.iterdir():
            if file.is_file():
                new_filename = file.stem
                if replace_space:
                    new_filename = new_filename.replace(' ', '_')
                new_filename = prefix + new_filename + suffix + file.suffix
                new_path = file.with_name(new_filename)
                file.rename(new_path)
                print(f"{file} 已重命名为 {new_path}")
    except Exception as e:
        print(f"发生错误: {e}")

# 示例调用
batch_rename_os('path_to_directory', 'prefix_', '_suffix', True)
batch_rename_pathlib('path_to_directory', 'prefix_', '_suffix', True)

通过这些示例,你可以批量重命名文件,添加前缀或后缀,替换文件名中的空格以及更改文件扩展名。选择适合自己的方法来处理文件批量重命名任务。

短视频
每日一点 短视频 Python
License:  CC BY 4.0
Share

Further Reading

Nov 3, 2024

什么是 python 的闭包

在 Python 中,闭包(Closure)是一种函数对象,它不仅包含了函数的代码,还包含了函数创建时的环境变量。这意味着闭包可以“记住”其外部作用域中的变量,即使在外部作用域已经结束后,闭包仍然可以访问这些变量。 函数可以访问他被创建时所处的上下文环境,这被称为闭包。 闭包的基本特征 嵌套函数:闭

Nov 2, 2024

使用argparse模块解析命令行参数

在 Python 中,argparse 模块用于解析命令行参数,使得脚本可以更灵活地接受用户输入。以下是如何使用 argparse 模块解析命令行参数的详细介绍和示例。 基本用法 示例:简单的命令行参数解析 首先,创建一个简单的脚本来解析命令行参数。我们将创建一个脚本,该脚本接受两个整数并打印它们的

Nov 1, 2024

Python中的二维码生成与解析(花里胡哨)

如何使用 qrcode 库生成各种有趣的二维码,包括彩色二维码、带 Logo 的二维码和动态 GIF 二维码。下面,我们将逐步介绍这些功能。 Qrcode 库简介 qrcode 库是一个强大的 Python 工具,用于生成二维码。除了基本的二维码,它还支持自定义功能,如颜色变化、样式设计和动画效果。

OLDER

Python 文件以及文件夹改名

NEWER

Python 图片格式转换

Recently Updated

  • 什么是 python 的闭包
  • 使用argparse模块解析命令行参数
  • Python中的二维码生成与解析(花里胡哨)
  • Python中的二维码生成与解析(基础使用)
  • 使用platform模块获取系统信息

Trending Tags

学习 Git 工具 SQL docker-compose 每日一点 快捷键 Flink fastapi Windows

Contents

©2025 RWO.cc. Some rights reserved.

Using the Halo theme Chirpy