2016-06-30 7 views
0

ファイルを受け取り、リストを返す関数を記述しようとしています。しかし、それはうまくいきません。代わりに、それは言う:ファイルを開こうとしているときに「[Errno 22] Invalid argument」エラーが表示される

'例外IOError:[errnoを22]無効な引数: 'C:\ Python32 \ x07ssignment3 \ wordlist.txt''

私は

words_file_name = 'C:\Python32\assignment3\wordlist.txt' 
words_file = open(words_file_name, 'r') 

def read_words(words_file): 
    words_list = words_file.readlines() 
    return words_list 

答えて

2

モジュールを実行しようとしていますバックスラッシュをエスケープするか、生の文字列リテラルを使用します。それ以外の場合、\a\x07になります。これはエスケープ文字\aの16進表現です。このために生の文字列を使うことをお勧めします。余分なバックスラッシュを処理する必要はありません。

words_file_name = r'C:\Python32\assignment3\wordlist.txt' 
       ^
0

これは、\ assignaの\ aに\ aを付けることで回避できます。あなたのディレクトリパスに\ b、\ n、\ r、\ tなどがある場合は、それらを二重スラッシュに置き換えてください。

関連する問題