如何使用python从文本文件中删除选定的文本?

2024-04-25 07:09:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我的文本显示在上面的链接中,我想在关键字“-#pipeline”和“-#pipeline”之间保留文本,其余关键字行如“-#nonpipelined”删除并写入另一个新文件。 简言之,新文件中应包含除“-#nonpipelined”之间提到的文本以外的所有文本。你知道吗

我试过了:

         file=open("vhdl.txt","w+")
         file1=open("new.txt","w")
         q1="--#pipeline"

对于文件中的行: 如果行==“--#”: 如果行==q1: 打破 如果行==“--#” file1.write(行)


Tags: 文件文本txtnewpipeline链接关键字open
2条回答
import re 
string = """    shb hdjhsjkcjdbcjbdhcbhcc jsbjcbdkjbdskjcbkjsdjc jdcnjksdncjk kjbckjbdskj

    #pipelined 
jck jhcdjdh jdhcdbcbdh hcbdhjbdc jbdcwjk jdbjkcbwjk kwjcbkjwdbcj kwjbdkjbchjkew
    #pipelined 
    #non pipleined scbkjs cjdjke jcedj
ujcdhuidh
jcdjnj
jkdbcjknsd
    #non pipelined hcsbhsd cjdjd"""

clean = re.sub(r' #pipelined\s*(.*?)\s* #pipelined', '', string)

现在可以将clean对象写入任何需要的文件。你知道吗

当你想忽略一行时,添加一个类似布尔标志的东西

with open("file.txt") as f:
    ignore = False
    for line in f:
        pipelined = f.startswith(" #pipeline")
        ignore = (pipelined and not ignore) 
        if not ignore:
            print(line)

使用CLI输出重定向获取新文件

python script.py > output.txt

相关问题 更多 >