Я сделал 2 незначительные модификации вашего кода.
Во-первых. Я заменил регулярное выражение \b[a-z]{1, 15}\b
на \b[a-z]+\b
.
Во-вторых. Я изменил main
suite:
if __name__ == '__main__':
file = str(sys.argv[1])
match_pattern = read_file(file)
print(match_pattern)
print()
ans = list_of_tuples(match_pattern)
print(ans)
Вывод для моего образца файла:
['asdf', 'asdf', 'asdf', 'sdf', 'asdf', 'asdf', 'asdfdf', 'asdfsdf', 'asdfasd', 'fas', 'dfa', 'sd', 'fass', 'dfafas', 'df', 'asdfsdf', 'asdfsdf', 'asdfdfa', 'sdf', 'asdfdf', 'asdfsdfas', 'dfasdf', 'asdfdfasdf', 'asdffas', 'dfasdffas', 'dfs', 'fas', 'sdf', 'asdfd', 'asdfsd', 'asfd', 'as', 'dfdfa', 'sddf', 'asd', 'fasdf', 'asdf', 'assdf', 'asdf', 'asdf', 'das', 'assdffa', 'sdf', 'asdf', 'asdf', 'assdf', 'asd', 'asd', 'asfdd', 'fasasdf', 'asdf', 'assdf', 'asdf', 'assd']
[('asdfsdfas', 1), ('dfafas', 1), ('dfasdffas', 1), ('asdf', 12), ('as', 1), ('dfasdf', 1), ('fasdf', 1), ('assd', 1), ('assdf', 3), ('dfs', 1), ('asdfdf', 2), ('asd', 3), ('df', 1), ('dfdfa', 1), ('fasasdf', 1), ('asdfsd', 1), ('asfd', 1), ('das', 1), ('asfdd', 1), ('asdffas', 1), ('sdf', 4), ('sddf', 1), ('dfa', 1), ('asdfdfasdf', 1), ('asdfsdf', 3), ('assdffa', 1), ('asdfd', 1), ('asdfasd', 1), ('sd', 1), ('fas', 2), ('asdfdfa', 1), ('fass', 1)]
Итак, программа запускается, и результат выглядит как какой-то законный результат.