2013-07-05 67 views
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' 

回答

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 
+0

或者他可以只使用''C:\\ \\的數據test.txt''。 –

+0

我嘗試使用雙反斜槓並沒有出現錯誤消息。然而,當我實際運行程序沒有出現它只是說'重新啓動'爲什麼這是? – kmz

+0

@ user2554477你沒有在你的程序中打印任何東西,你期望它打印什麼? –

相關問題