我的文本显示在上方的链接中,我想将文本保留在关键字“-#pipeline”和“-#pipeline”之间,其余的关键字行(如“-#nonpipelined”)删除并写入另一个新文件。 简而言之,新文件中应包含“-#nonpipelined”之间提到的所有文本示例文本。
我在这里尝试过:
file=open("vhdl.txt","w+")
file1=open("new.txt","w")
q1="--#pipeline"
对于文件中的行: 如果line ==“-#”: 如果行== q1: 打破 如果line ==“-#。” file1.write(行)
答案 0 :(得分:0)
添加类似布尔标志的内容以在您希望忽略一行时提取
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
答案 1 :(得分:0)
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)
现在您可以将干净对象写入所需的任何文件。