델타를 계산하려면 파이썬의 difflib 모듈을 사용해야 합니다. 이 모듈에는 시퀀스를 비교하기 위한 다양한 클래스와 기능이 있습니다. 파일, HTML 파일 등을 비교할 수 있습니다.
이 모듈을 사용하려면 파이썬 코드에서 difflib 모듈을 가져와야 합니다.
import difflib
difflib 모듈의 일부 클래스 및 기능.
클래스(difflib.SequenceMatcher) -
이 클래스는 모든 유형의 두 시퀀스를 비교하는 데 사용됩니다. 다른 방법이 있습니다. 이러한 방법 중 일부는 다음과 같습니다 -
-
set_seqs(a, b) - 비교할 시퀀스 파일을 설정합니다. 두 번째 파일에 대한 자세한 정보를 계산하고 캐시합니다. 따라서 여러 파일을 일치시키려면 첫 번째 시퀀스를 반복적으로 설정해야 합니다.
-
set_seq1(a) − 비교할 첫 번째 시퀀스를 설정합니다.
-
set_seq2(2) − 비교할 두 번째 시퀀스를 설정합니다.
-
find_longest_match(alo, ahi, blo, bhi) − 첫 번째 시퀀스의 경우 alo ~ ahi, 두 번째 시퀀스의 경우 blo ~ bhi 범위에서 일치하는 블록이 가장 긴 것을 찾습니다.
-
get_matching_blocks() − 일치하는 시퀀스 목록을 내림차순으로 찾습니다.
-
비율() − 시퀀스 유사도의 비율을 float 값으로 구합니다.
예시 코드
import difflib myStr1 = 'Python Programming' myStr2 = 'Python Standard Library' seq_match = difflib.SequenceMatcher(lambda x: x==' ', myStr1, myStr2) print("The ratio of the sequence matching is: " + str(round(seq_match.ratio(), 3))) for match_block in seq_match.get_matching_blocks(): print(match_block)
출력
The ratio of the sequence matching is: 0.488 Match(a=0, b=0, size=7) Match(a=8, b=13, size=1) Match(a=11, b=19, size=2) Match(a=18, b=23, size=0)