当前位置: 首页 > 知识库问答 >
问题:

在Python中,如何找出文件中是否存在文本块?[关闭]

云利
2023-03-14

我有一本书。conf文件,我想找到一个以字符串开头的文本块,该字符串是动态的,因为它是从另一个文件加载的。块的结尾将基于一个始终以字符串“endblock”开头的字符串。街上的街区。conf文件如下所示,最后有一个示例需要澄清。

[[Some dynamic text] : text : T1 : othertext :]
ok.blabla = 1
ok.blabla22 = 0
endblock = ajd=adlajla;dj

[[Someother] : BC : D9 : thanks :]
ok.blabla = 0
ok.blabla22 = 1
endblock = some | random | text 

我可以用以下代码加载文本:

conf = 'files/test1.conf'
with open(conf, "r+") as f:
    data = f.read()
    print(data)

例如:

我想知道下面的文本块是否存在于名为example.conf的文件中,如果条件是True,我不想把它写在文件中。否则,我想添加文本块。如上所述,文本块的开始发生变化,并且总是以以“结束块”开头的字符串结束。

[[Some dynamic text] : text : T1 : othertext :]
ok.blabla = 1
ok.blabla22 = 0
endblock = ajd=adlajla;dj

共有1个答案

饶承宣
2023-03-14

请尝试以下正则表达式

^endblock.*$

它将匹配以术语“end block”开头的整行

 类似资料:
  • 问题内容: 考虑以下: 文件将被正确关闭,还是使用某种方式绕过上下文管理器? 问题答案: 是的,它的作用就像一个块接一个块,也就是说,它总是执行(除非python进程以异常的方式终止)。 PEP-343的一个示例中也提到了该语句,它是该语句的规范: 但是,值得一提的是,如果不将整个块放入通常不是您想要的块中,就无法轻松捕获调用引发的异常。

  • 问题内容: Go的标准库没有专门用于检查文件是否存在的函数(如Python的)。什么是 惯用的 方式做到这一点? 问题答案: 要检查文件是否不存在,等同于Python的文件: 要检查文件是否存在,等效于Python的文件: 编辑:根据最近的评论

  • 问题内容: 在打开文件以Java读取之前,如何检查文件是否存在?(相当于Perl的)。 关于SO的唯一类似问题涉及写入文件,因此使用回答了该问题,这显然不适用于此处。 如果可能的话,我宁愿使用真正的API调用返回,而不是使用“调用API来打开文件并在引发异常时捕获并在文本中检查’无文件’的情况下捕获”,但是我可以接受后者。 问题答案: 使用:

  • Go的标准库没有专门用于检查文件是否存在的功能(如Python的)。

  • 问题内容: 如何判断Python中文件是否是二进制文件(非文本)? 我正在Python中搜索大量文件,并始终在二进制文件中获取匹配项。这使输出看起来异常混乱。 我知道我可以使用,但是我对数据所做的事情超出了grep所允许的范围。 过去,我只会搜索大于的字符,但是类似的字符在现代系统上是不可能做到的。理想情况下,解决方案应该很快。 问题答案: 您还可以使用mimetypes模块: 编译二进制mime

  • 问题内容: 如何在不使用Type语句的情况下查看文件是否存在? 问题答案: 如果你要检查的原因是可以执行类似的操作,则尝试使用 来打开它会更安全。检查然后打开可能会导致文件被删除或移动,或者介于检查和尝试打开文件之间。 如果你不打算立即打开文件,则可以使用 True如果path是现有的常规文件,则返回。这遵循符号链接,因此,对于同一路径,和都可以为。 如果你需要确保它是一个文件。 从Python