2013-02-25 1 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을 사용하여 단어를 계산할 때 조건이 잘못되는 이유는 무엇입니까?

내가 파일에 수 # 1의 수를 계산하려면
0   6   9  able#1 
0   11   34 unable#1 
9   12   22 able#1 

, 단어가 잘 우리는 루프를 사용하지만 경우에 경우에 저희에게 정확한 "합"을 포기하지 않았다, 조건을 넣을 때 문자열 대신 int를 사용하는 데 오류가 발생합니다.

답변

2

word은 문자열이 아니고 정수입니다. 조건 앞에 문자열로 변환하십시오.

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

변수로 내장 이름을 사용하지 않도록주의하십시오. 트랙에 문제가 발생할 수 있습니다.

+0

또한 텍스트 파일에서 1을 셀 수 있습니다. 어떻게 제거 할 수 있습니까? – Rocket

1
open(path).read().count("able#1") 
관련 문제