2013-02-25 2 views
1
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Почему условие дает ошибку при подсчете слов с использованием python?

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

Я хочу, чтобы подсчитать количество в состоянии # 1 в файле, если слово хорошо, когда мы используем его только в цикле, но не дают нам точную «сумму», и когда мы ставим на него условие, он дает ошибку использования int вместо строки.

ответ

2

word - целое число, а не строка. Преобразуйте его в строку перед условием.

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

Также будьте осторожны, чтобы не использовать встроенное имя в качестве переменной - это может вызвать проблемы с дорожкой.

+0

это также счетчик # 1 в текстовом файле, как его можно удалить – Rocket

Смежные вопросы