如何获得txt文件中单词的特定编号?

时间:2019-07-16 14:27:22

标签: python

我试图查找在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

有时可以使用,但是对于某些文本文件,它仅返回一些数字,而另一些则留空。

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'。