与烧瓶的python中的字数

时间:2016-04-20 10:37:07

标签: python-2.7 flask-wtforms

我使用带烧瓶服务器的HTML创建页面,在python中编写函数来搜索纯文本文件(demo.txt)中的单词,我的代码工作正常返回正确的单词。我想计算单词出现在文本中的时间

def getText(self,word):
     try:

       myfile=open("E:\Python_work\demo.txt","r");
        mylist=[];
        text=word;
        for line in myfile:
            if text in line:
                   mylist.append(line);
        return mylist;
        myfile.close();
     except:
        return err;

4 个答案:

答案 0 :(得分:0)

这对我有用:

def getText(self, word):
    try:
        counter = 0
        myfile=open("D:\\demo.txt","r");
        for line in myfile:
            counter += line.count(word)
        myfile.close()
        return counter
    except:
        return err

答案 1 :(得分:0)

如果你试图计算一个单词的出现次数,为什么该函数会返回一个列表?当然,您想要返回发生的次数吗?

您可以尝试这样的事情:

myfile = open('/path', 'r')
text = word
word_count = 0
for line in myfile:
    if text in line:
        word_count += 1

myfile.close()
return word_count

编辑:当然在try块中的代码。

旁注:分号是Python中的坏风格。当您使用它们时,解释器会将每一行视为两个语句,第二个语句为空。 Python的解释器使用空格来了解语句何时结束。

答案 2 :(得分:0)

您可以使用字符串的count方法来获取总计数。下面是计算文本文件中单词数的函数。

def count_words(word_to_be_count):
    with open("E:\Python_work\demo.txt","r") as f:
        content = f.read()
        total_count = content.count(word_to_be_count)
    return total_count

答案 3 :(得分:0)

以下是在Python中执行此操作的好方法 - 假设该函数是类定义的一部分:

def getText(self, word):
    with open("D:\\demo.txt") as f:
        return f.read().count(word)

这假定您将在调用者中处理异常(如果文件不存在)。否则使用try / except并返回合适的失败值:

def getText(self, word):
    try:
        with open("D:\\demo.txt") as f:
            return f.read().count(word)
    except IOError:
        return -1