1

これはワードカウントプログラムです。どうすればもっと簡単にできますか?

import re
from collections import Counter

with open('C:\Data\test.txt') as f:
passage = f.read()

words = re.findall(r'\w+', passage)

cap_words = [word.upper() for word in words]

word_counts = Counter(cap_words)

次のエラー メッセージが表示され続けます。

Traceback (most recent call last):
File "C:/Python27/wordcount", line 4, in <module>
with open('C:\Data\test.txt') as f:
IOError: [Errno 22] invalid mode ('r') or filename: 'C:\\Data\test.txt'
4

1 に答える 1

3

生の文字列を使用するか、それぞれ\を. でエスケープし\ます。'\t'これがないとタブ スペースに変換されるため、これが必要です。

r'C:\Data\test.txt'

例:

>>> print 'C:\Data\test.txt'
C:\Data est.txt                 #\t is converted to tab
>>> print r'C:\Data\test.txt'   
C:\Data\test.txt                #here it is fine

>>> print 'C:\\Data\\test.txt'  #same as raw string, but manual escaping
C:\Data\test.txt
于 2013-07-05T17:12:57.413 に答える