【发布时间】:2020-11-20 10:33:32
【问题描述】:
我有一个关于 Python 3 中的 doctest 模块的快速问题。
我还没有使用它,只是阅读一些信息以及它们如何将其应用于函数。我有两个功能需要测试,我想我明白我必须做什么。但是,我不知道如何在我的情况下应用它。我必须使用 .txt 文件的功能。第一个取词和文件 文本文件的路径作为输入和输出一个对的列表,每个由一个 单词出现的行和对应的行号。
def find_all_instances(word, path):
l = []
with open(path, 'r') as file:
for position, line in enumerate(file.readlines()):
if word in line:
tup = (line, position+1)
l.append(tup)
return l
print(find_all_instances('word', 'filename.txt'))
第二个函数将文本文件的文件路径作为输入并输出 对的列表,每个由一个单词和该单词出现的次数组成 在正文中按降序排列。
from collections import Counter
import re
def task_2(inp):
with open(inp, encoding="utf-8") as f:
data = (x.lower() for x in re.split(r'[\n, .?!:;-]', f.read()) if x.isalpha())
cnt = Counter(data)
return cnt.most_common()
task_2(r"filepath")
我现在的问题是:如何在这些情况下应用它?由于我看到的 doctest 示例仅使用简单的函数,例如将两个输入相乘。但是,在我的情况下,输出似乎相当大,因为文本文件大约有 10'000 行长,因此输出也同样大。如何实现这些功能?
【问题讨论】:
标签: python-3.x function doctest