Как показать историю пересмотра как изменения

Я написал похожую программу несколько дней назад. Программа использует два аргумента: имя файла (обязательно) и N (необязательно)

from collections import Counter
import re
import sys

if sys.version_info <(2,7):
    Sys.exit("Must use Python 2.7 or greater")

if len(sys.argv)<2:
    sys.exit('Usage: python %s filename N'%sys.argv[0])

n=0
if len(sys.argv)>2:
    try:
        n=int(sys.argv[2])
        if n<=0:
            raise ValueError
    except ValueError:
        sys.exit("Invalid value for N: %s.\nN must be an integer greater than 0"%sys.argv[2])

filename=sys.argv[1]
try:
        with open(filename,"r") as input_text:
            wordcounter=Counter()
            for line in input_text:
                 wordcounter.update(re.findall("\w+",line.lower()))
        if n==0:
            n=len(wordcounter)

        for word, frequency in wordcounter.most_common(n):
            print("%s %d" % (word, frequency))

except IOError:
        sys.exit("Cannot open file: %s"% filename)
6
задан Peter Mortensen 27 June 2018 в 20:04
поделиться

3 ответа

Поскольку вы на самом деле не указали язык: я сделал это с помощью пакета PHP PEAR Text_Diff .

1
ответ дан 17 December 2019 в 20:34
поделиться

Стандартная библиотека Python difflib обеспечивает такого рода возможности:

Этот модуль предоставляет классы и функции для сравнения последовательностей. Его можно использовать, например, для сравнения файлов и может создавать информацию о различиях в различных форматах, включая HTML, контекст и унифицированные различия. Для сравнения каталогов и файлов см. Также модуль filecmp .

2
ответ дан 17 December 2019 в 20:34
поделиться

Они использовали Beyond Compare . Насколько я могу судить, это не родная программа .NET, но вы можете использовать ее как инструмент командной строки.

-1
ответ дан 17 December 2019 в 20:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: