在txt文件中找到单词Python 3

时间:2017-12-12 14:14:42

标签: python

我想在python 3中创建一个程序,以查找特定单词在txt文件中出现的时间,然后使用这些值构建excel表格。 我做了这个功能,但最后当我回想起功能并输入输入时,程序不起作用。出现这句话:unindent与任何外部缩进级别都不匹配

def wordcount(filename, listwords):   
    try:

    file = open( filename, "r")   

    read = file.readlines()
    file.close()
    for x in listwords:
        y = x.lower()
        counter = 0
        for z in read:
            line = z.split()
            for ss in line:
                l = ss.lower()
            if y == l:
                 counter += 1

        print(y , counter)     

现在我尝试使用txt文件和要查找的单词

来调用该函数
 wordcount("aaa.txt" , 'word' ) 

喜欢输出我想看

word 4      
谢谢大家!

2 个答案:

答案 0 :(得分:0)

以下示例可用于查找特定单词在文本文件中的时间;

Files.createTempFile

输出将是您尝试查找的单词及其出现的时间。

答案 1 :(得分:0)

尽可能短:

def wordcount(filename, listwords):
    with open(filename) as file_object:
        file_text = file_object.read()
        return {word: file_text.count(word) for word in listwords}

for word, count in wordcount('aaa.txt', ['a', 'list', 'of', 'words']).items():
    print("Count of {}: {}".format(word, count))

回到mij关于将listwofwords作为实际列表传递的评论:如果将字符串传递给需要列表的代码,python会将字符串解释为字符列表,如果这种行为可能会造成混淆不熟悉