質問

を使用しているPython difflib 図書館を見る2点の書類が異なります。の異なる().compare()メソッドはこの、それは 非常に ロ◎100遅く大きなHTML文書と比較して diff コマンドです。

したいので効率的な決定が2点の書類が異なるPython?(でっ後の位置と実際のテキストは何SequenceMatcher().たはget_opcodes()に戻ります。)

役に立ちましたか?

解決

a = open("file1.txt").readlines()
b = open("file2.txt").readlines()
count = 0
pos = 0

while 1:
    count += 1
    try:
        al = a.pop(0)
        bl = b.pop(0)
        if al != bl:
            print "files differ on line %d, byte %d" % (count,pos)
        pos += len(al)
    except IndexError:
        break

他のヒント

Aとプレーンテキストのための

Googleが持っているA 差分ライブラリするあなたが仕事をしたいHTMLドキュメントに適用するのpython API、。それはあなたが具体的な違いの場所に興味を持っているあなたの特定のユースケースに適しているかどうかはわからないが、それは見て持つ価値があります。

醜いと愚かなソリューション:diffが高速である場合、それを使用します。 subprocessを経由してのpythonからの呼び出しにより、必要な情報のためのコマンドの出力を解析します。これは多分速いdiffよりちょうどdifflibほど高速ではなくなります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top