如何使用python> 2.0计算文件中的单词[重复]

Posted

技术标签:

【中文标题】如何使用python> 2.0计算文件中的单词[重复]【英文标题】:How to count words in a file using python >2.0 [duplicate] 【发布时间】:2018-04-28 05:42:07 【问题描述】:

我想编写一个可以计算文件中关键字的程序。 示例:我创建了一个列表,其中包含以下关键字。然后我打开一个包含一堆单词的文件,我想计算文件中有多少个关键字。但是无论我做什么,计数总是给我0。我做错了什么?

这是我的代码:

Happy = ['amazed', 'amazing', 'best', 'excellent', 'excited', 'excite', 
         'excites', 'exciting', 'glad', 'greatest', 'happy', 'love',
         'loves', 'loved', 'loving', 'lovin', 'prettiest']

def CountFile():
  file = open("File.txt", "r")
  Count = 0
  for i in file:
    i = i.split()
    if i in Happy:
      count = count + 1
  print("there are" count "keywords")
  return

CountFile()

【问题讨论】:

@Julien 我刚开始学习python,我真的看不懂那个代码。 我为什么要关心?阅读教程... @Julien 接受的链接答案仅适用于 python 2。如果有人想在 python 3 中执行此操作或更简单的方法怎么办? @yacc 我做了,但是就像我说的我刚开始学习python,我真的看不懂一些代码 @sachindubey 这个问题已经被问和回答了一百万次。一点点研究工作将为您提供 10 种不同的解决方案供您选择。 【参考方案1】:

试试这个代码

Happy = ['amazed', 'amazing', 'best', 'excellent', 'excited', 'excite', 'excites', 'exciting', 'glad', 'greatest', 'happy', 'love', 'loves', 'loved', 'loving', 'lovin', 'prettiest']

def CountFile():
   file = open("File.txt", "r")
   count = 0
   for i in file:
      i = i.split()
      for so in i:
         if so in Happy:  
            count = count + 1
   print("there are %s keywords" %count)

CountFile()

【讨论】:

【参考方案2】:

当你做i = i.split()

i 变成一个列表。您的 i 变量是此处文本文件中的一行。

你应该可以,

   ...
   words = i.split()
   for w in words:     
     if w in Happy:
       count += 1
   ...

【讨论】:

以上是关于如何使用python> 2.0计算文件中的单词[重复]的主要内容,如果未能解决你的问题,请参考以下文章

Python中的单例模式

Python Tkinter 中的单选按钮值

python中的单例模式

python中的单例模式

python中的单例模式

python中的单例模式