2

2 つのファイルの内容を比較して、1 つのファイルの内容が別のファイルに完全に含まれているかどうかを調べようとしています (つまり、1 つのファイルに A、B、C の 3 行がある場合、これらの 3 行をこの順序で見つけることができますか? 2 番目のファイル)。私は見ましたがdiffgrep関連するオプションを見つけることができませんでした(もしあれば)。

例:

file1.txt   file2.txt  <= should return true (file2 is included in file1)
---------   ---------
abc         def
def         ghi
ghi
jkl    

file1.txt   file2.txt  <= should return false (file2 is not included in file1)
---------   ---------
abc         abc
def         ghi
ghi
jkl    

何か案が?

4

4 に答える 4

1

ここからの答えを使用して

次の Python 関数を使用します。

def sublistExists(list1, list2):
    return ''.join(map(str, list2)) in ''.join(map(str, list1))

実際に:

In [35]: a=[i.strip() for i in open("f1")]
In [36]: b=[i.strip() for i in open("f2")]
In [37]: c=[i.strip() for i in open("f3")]

In [38]: a
Out[38]: ['abc', 'def', 'ghi', 'jkl']

In [39]: b
Out[39]: ['def', 'ghi']

In [40]: c
Out[40]: ['abc', 'ghi']

In [41]: sublistExists(a, b)
Out[41]: True

In [42]: sublistExists(a, c)
Out[42]: False
于 2013-04-03T12:04:56.840 に答える