2013-02-25 45 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而不是string的錯誤。

回答

2

word是一個整數,而不是一個字符串。在條件之前將其轉換爲字符串。

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

另外要小心不要使用內置名稱作爲變量 - 它可能會導致問題沿着軌道。

+0

它也可以在文本文件中計數 - #1,我們如何刪除它 – Rocket 2013-02-25 11:13:06

1
open(path).read().count("able#1") 
相關問題