【问题标题】:Overwriting a .txt file in Python在 Python 中覆盖 .txt 文件
【发布时间】:2022-02-09 00:03:23
【问题描述】:

如果将新数据写入新的 txt 文件(test_02.txt),则以下代码有效。

with open("test_01.txt", "r+") as list_01:
    for i in list_01:
        if i[0] == "%":
            continue
        else:
            file = []
            file.append(i)
            with open("test_02.txt", "a") as list_02:
                list_02.writelines(file)

文件 test_01.txt 包含许多行,其中一些以 % 开头。我正在尝试擦除以 % 开头的行并覆盖同一 txt 文件(test_01.txt)中的其余行。

我该怎么做?

任何帮助/建议将不胜感激。谢谢!

【问题讨论】:

标签: python overwrite


【解决方案1】:

下面的代码解决了我的问题。

import re

with open("test_01.txt", "r+") as list_01:
    data = list_01.read()
    list_01.seek(0)
    list_01.write(re.sub(r'^%.*\n?', '', data, flags=re.MULTILINE))
    list_01.truncate()

【讨论】:

    猜你喜欢
    • 2012-11-23
    • 2019-05-22
    • 2015-01-20
    • 1970-01-01
    • 2021-07-19
    • 2012-04-19
    • 1970-01-01
    • 2021-11-11
    • 2017-09-14
    相关资源
    最近更新 更多