我试图查找在TXT文件中何时使用某些特定单词之一,然后计算该单词在文件中的数量。我的代码返回一些但不是全部单词的数字,我也不知道为什么。
我的代码现在通过计数器逐个单词地遍历文件,如果单词与我想要的单词之一匹配,则返回数字。
def wordnumber(file, filewrite, word1, word2, word3):
import os
wordlist = [word1, word2, word3]
infile = open(file, 'r')
g = open(filewrite, 'w')
g.write("start")
g.write(os.linesep)
lines = infile.read().splitlines()
infile.close()
wordsString = ' '.join(lines)
words = wordsString.split()
n = 1
for w in words:
if w in wordlist:
g.write(str(n))
g.write(os.linesep)
n = n+1
有时可以使用,但是对于某些文本文件,它仅返回一些数字,而另一些则留空。
答案 0 :(得分:0)
如果您想在单词中找到单词的第一个出现,只需使用
wordIndex = words.index(w) if w in words else None
并针对所有情况使用
wordIndexes = [i for i,x in enumerate(words) if x==word]
(摘自Python: Find in list) 但要注意:如果您的文本是“ cat,dog,mouse”,则您的代码将找不到“ cat”或“ dog”的索引。因为“ cat,dog,mouse” .split()返回['cat,','dog,','mouse']和'cat',所以不是'cat'。