open: неверный режим или имя файла

Это программа подсчета слов. как это можно сделать проще?

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'

1 ответ

Решение

Используйте необработанную строку или экранируйте каждый \ с \, Это требуется, потому что без него '\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
Другие вопросы по тегам