添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
from fileinput import FileInput
def match_then_insert(filename, match, content):
    """匹配后在该行追加
    :param filename: 要操作的文件
    :param match: 匹配内容
    :param content: 追加内容
    for line in FileInput(filename, inplace=True):  # 原地过滤
        if match in line:        # 每次读取一行
            line = content + '\n' + line
        print(line, end='')      # 输出重定向到原文件
match_then_insert('test.txt', match='c', content='123')
  • 读进列表后覆盖原文件
  • def match_then_insert(filename, match, content):
        """匹配后在该行追加
        :param filename: 要操作的文件
        :param match: 匹配内容
        :param content: 追加内容
        lines = open(filename).read().splitlines()
        index = lines.index(match)
        lines.insert(index, content)
        open(filename, mode='w').write('\n'.join(lines))
    match_then_insert('test.txt', match='c', content='123')
    
    def match_then_insert(filename, match, content):
        """匹配后在该行追加
        :param filename: 要操作的文件
        :param match: 匹配内容
        :param content: 追加内容
        with open(filename, mode='rb+') as f:
            while True:
                    line = f.readline()  # 逐行读取
                except IndexError:  # 超出范围则退出
                    break
                line_str = line.decode().splitlines()[0]
                if line_str == match:
                    f.seek(-len(line), 1)  # 光标移动到上一行
                    rest = f.read()  # 读取余下内容
                    f.seek(-len(rest), 1)  # 光标移动回原位置
                    f.truncate()  # 删除余下内容
                    content = content + '\n'
                    f.write(content.encode())  # 插入指定内容
                    f.write(rest)  # 还原余下内容
                    break
    match_then_insert('test.txt', match='c', content='123')
    

    消耗事件对比