2016-10-04 4 views
0

텍스트 파일에서만 문자 수를 계산하려고합니다. 구두점과 공백을 제외하고 싶습니다. 여기 내가 지금까지 가지고있는 것이있다. 이 방법을 찾고 있었지만 특정 문자를 제외하려고 할 때마다 오류가 계속 발생합니다. 어떤 도움이라도 대단히 감사합니다.파이썬 텍스트 파일에서 문자 수를 만듭니다.

#Read Text Files To Memory 
with open("encryptedA.txt") as A: 
    AText = A.read() 
with open("encryptedB.txt") as B: 
    BText = B.read() 

#Create Dictionary Object 
from collections import Counter 
CountA = Counter(AText) 
print(CountA) 
CountB = Counter(BText) 
print(CountB) 
+1

은 아마 당신은'원하는 카운터 (AText에서 C에 대한 C의 경우 c.isalnum())'적어도 파이썬 3에서 작동하지 않습니다 –

답변

0

당신은 궤도에,하지만 당신은 (isalnum() 사용) 알파벳 문자가 기반으로 텍스트 파일 (isalpha() 사용) 또는 숫자를 필터링 할 :

from collections import Counter 
with open('data.txt') as f: 
    print (Counter(c for c in f.read() if c.isalpha())) # or c.isalnum() 

을 내 샘플의 경우 파일이 인쇄 :

Counter({'t': 3, 'o': 3, 'r': 3, 'y': 2, 's': 2, 'h': 2, 'p': 2, 'a': 2, 'g': 1, 'G': 1, 'H': 1, 'i': 1, 'e': 1, 'M': 1, 'S': 1}) 
+0

@dawg 당신은해야 할 것 'c inline for f for 라인'c – brianpck

관련 문제