Python遍历目录下所有文件夹并替换其中的内容

本文介绍如何使用Python的os和fileinput模块,通过os.walk遍历指定目录下的.txt和.py文件,进行文本内容的原地替换,并自动备份原有文件。务必在执行前备份重要数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用Python中的osfileinput模块来实现这个任务。

  1. 此代码中使用 os.walk 来遍历指定目录下的所有文件和子目录。
  2. 代码仅处理以 .txt.py 结尾的文件,你可以根据需要调整这个条件。
  3. 替换操作是原地进行的,但是会生成一个带有 .bak 后缀的备份文件,以防发生意外。
  4. 请在使用此代码之前做好文件备份,以免不小心导致数据丢失。
    import os
    import fileinput
    
    def replace_in_files(directory, search_str, replace_str):
        for root, dirs, files in os.walk(directory):
            for file in files:
                file_path = os.path.join(root, file)
                # 仅处理文本文件,你可能需要根据需要调整这个条件
                if file.endswith('.txt') or file.endswith('.py'):
                    with fileinput.FileInput(file_path, inplace=True, backup='.bak') as f:
                        for line in f:
                            print(line.replace(search_str, replace_str), end='')
    
    # 指定目录路径,将其中的 'path/to/your/directory' 替换为你的实际路径
    directory_path = 'path/to/your/directory'
    search_string = 'a'
    replace_string = 'b'
    
    replace_in_files(directory_path, search_string, replace_string)
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值