我见过一些人会问这是怎么做的,但他们的问题“过于宽泛”所以我决定找出怎么做。我在下面发布了如何。
答案 0 :(得分:1)
所以要做到这一点,首先你必须打开文件(假设你有一个名为'text.txt'的文本文件)我们通过调用open函数来做到这一点。
file = open('text.txt', 'r')
open函数使用以下语法:open(file,mode)
文件是文本文档,模式是它的打开方式。 ('r'表示只读)read函数只读取文件,然后split将每个单词分成一个列表对象。最后,我们使用count函数来查找单词出现的次数。
word = input('word: ')
print(file.read().split().count(word))
你有它,计算文本文件中的单词!
答案 1 :(得分:1)
字数可能很棘手。至少,人们希望避免资本化和标点符号的差异。在字数统计中采用下一步的简单方法是使用正则表达式,并在计算之前将其生成的单词转换为小写字母。我们甚至可以使用collections.Counter
并计算所有单词。
import re
# `word_finder(somestring)` emits all words in string as list
word_finder = re.compile(r'\w+').findall
filename = input('filename: ')
word = input('word: ')
# remove case for compare
lword = word.lower()
# `word_finder` emits all of the words excluding punctuation
# `filter` removes the lower cased words we don't want
# `len` counts the result
count = len(list(filter(lambda w: w.lower() == lword,
word_finder(open(filename).read()))))
print(count)
# we could go crazy and count all of the words in the file
# and do it line by line to reduce memory footprint.
import collections
import itertools
from pprint import pprint
word_counts = collections.Counter(itertools.chain.from_iterable(
word_finder(line.lower()) for line in open(filename)))
print(pprint(word_counts))
答案 2 :(得分:1)
拆分空白是不够的 - 拆分你不计算的所有事情,让你的案件得到控制:
import re
import sys
file = open(sys.argv[1])
word = sys.argv[2]
print(re.split(r"[^a-z]+", file.read().casefold()).count(word.casefold()))
您可以在倒置模式[^a-z']
或您想要包含在计数中的任何其他内容中添加撇号。
Hogan :上校,您正在询问并回答您自己的问题。这在德国效率方面名列前茅。
答案 3 :(得分:1)
def words_frequency_counter(filename):
"""Print how many times the word appears in the text."""
try:
with open(filename) as file_object:
contents = file_object.read()
except FileNotFoundError:
pass
else:
word = input("Give me a word: ")
print("'" + word + "'" + ' appears ' +
str(contents.lower().count(word.lower())) + ' times.\n')
答案 4 :(得分:0)
首先,您要打开该文件。这样做:
your_file = open('file.txt', 'r')
接下来,你要计算这个词。我们在变量brian
下将您的单词设为life
。没理由。
your_file.read().split().count(life)
它的作用是读取文件,将其分成单个单词,并计算单词' brian'的实例。希望这有帮助!