有条件地附加文件内容

时间:2013-03-13 11:53:19

标签: python

在检查源文件中的所有行(作为一个组)是否已存在于目标文件中之前,我有一个包含内容的源文件需要附加到目标文件。

如果已在目标文件中找到它,我不应该再次附加,因为它会复制目标文件中的内容。

这主要是比较整个线条的块。 有没有办法在python中执行此操作而不使用正则表达式?

2 个答案:

答案 0 :(得分:2)

src = open('source').read()
if src not in open('dest').read():
    with open('dest', 'a') as dst:
        dst.write(src)

答案 1 :(得分:0)

如果您可以将整个文件作为单个字符串加载到内存中,那么您只需使用count

import os

f = open("the_file_name", 'r+')
s1 = "the block of text\nwith newlines!\nyou will search in the file"
s2 = f.read() # s2 now has the whole file
if s2.count(s1) > 0:
    # seek to end and append s1
    f.seek(0, os.SEEK_END)
    f.write(s1)