Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

델타 계산을 위한 Python 도우미

<시간/>

델타를 계산하려면 파이썬의 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)