为什么条件在使用python计算单词时出错?

时间:2013-02-25 11:01:13

标签: python regex python-2.7

import re
file = open("pro.txt").readlines()
for lines in file:
        word= len(re.findall('\Wable#1\W', lines))
        if word in lines:
                sum=sum+1
print sum

pro.txt

0         6          9     able#1
0         11         34    unable#1
9         12         22    able#1 

我想计算文件中#1号的数量,如果我们只在循环中使用它,但是没有给我们准确的“和”,那么这个单词很好,当我们把条件放在它上面时,它会给出错误使用int而不是string。

2 个答案:

答案 0 :(得分:2)

word是一个整数,而不是一个字符串。在条件之前将其转换为字符串。

word = str(len(re.findall('\Wable#1\W', lines)))
# or
if str(word) in lines:
    total += 1

另外注意不要将内置名称用作变量 - 它可能会导致问题进入轨道。

答案 1 :(得分:1)

open(path).read().count("able#1")