大功 2021-08-25 23:07 采纳率: 50%
浏览 104
已结题

Python操作txt,将一堆txt文件里的abc换成def

Python操作txt文件:操作某个文件夹下所有txt文件,将每个txt文件里的abc换成def

  • 写回答

3条回答 默认 最新

  • 广大菜鸟 2021-08-25 23:15
    关注

    假如不考虑文件夹下的文件夹内的文件修改

    import os
    
    path = r"C:\Users\Lenovo\Desktop\新建文件夹"
    files = os.listdir(path)  # 得到文件夹下的所有文件名称
    
    for file in files:  # 遍历文件夹
        fileType = os.path.splitext(file)
        filename, Type = fileType # 文件夹的Type是空,所以下面可以判断去除,不必再判断是否为文件夹
        if Type == '.txt':
            position = path + '\\' + file  # 构造绝对路径,"\\",其中一个'\'为转义符,或者这样拼接 position = os.path.join(path, file)
            with open(position, "r") as f:  # 打开文件
                data = f.read()  # 读取文件
            data = data.replace('abc', 'def')
            with open(position, "w") as f:  # 打开文件
                f.write(data)
    

    假如想无限套娃,把文件夹内文件夹内txt一直修改下去

    import os
    
    
    def replaceFile(path=r"C:\Users\Lenovo\Desktop\新建文件夹"):
        files = os.listdir(path)  # 得到文件夹下的所有文件名称
        for file in files:  # 遍历文件夹
            fileType = os.path.splitext(file)
            filename, Type = fileType
            if Type == '.txt':
                # position = path + '\\' + file  # 构造绝对路径,"\\",其中一个'\'为转义符
                position = os.path.join(path, file)
                with open(position, "r") as f:  # 打开文件
                    data = f.read()  # 读取文件
                data = data.replace('abc', 'def')
                with open(position, "w") as f:  # 打开文件
                    f.write(data)
            # 如果要对原来文件夹下的文件夹内的文件修改,无限套娃
            else:
                position = os.path.join(path, file)
                if os.path.isdir(position):
                    replaceFile(position)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 9月3日
  • 已采纳回答 8月26日
  • 创建了问题 8月25日

悬赏问题

  • ¥20 cad图纸,chx-3六轴码垛机器人
  • ¥15 移动摄像头专网需要解vlan
  • ¥20 access多表提取相同字段数据并合并
  • ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角
  • ¥20 Java-Oj-桌布的计算
  • ¥15 powerbuilder中的datawindow数据整合到新的DataWindow
  • ¥20 有人知道这种图怎么画吗?
  • ¥15 pyqt6如何引用qrc文件加载里面的的资源
  • ¥15 安卓JNI项目使用lua上的问题
  • ¥20 RL+GNN解决人员排班问题时梯度消失