

以下のプログラムを Atom から実行するとエラーが出てしまいます。どなたかご教示ください。

**エラー:**

[code]

    Traceback (most recent call last):
      File "C:\Users\Katsu\Desktop\python\python.py", line 6, in <module>
        data = f.read()
    UnicodeDecodeError: 'cp932' codec can't decode byte 0x81 in position 21: illegal multibyte sequence
    
[/code]

**プログラム:**

[code]

    import re
    
    source = 'english_words_01.txt'
    
    with open (source) as f:
        data = f.read()
    
    print(data)
    
[/code]


CC BY-SA 4.0
2021-03-03T14:05:23.437
74396
2021-03-03T16:33:17.237
2021-03-03T16:33:17.237
3060
34401
question
python python3
Python プログラム実行時にエラー: UnicodeDecodeError


これでしょうね。  
[WindowsのPythonプログラムがUTF-8のテキストファイルを読み込めない](https://pcl.solima.net/pyblog/archives/623)

Windows上でのPythonのテキストファイル入出力はAnsiCodePage(日本だとシフトJIS=cp932)がデフォルトになります。  
この辺の記事に状況と環境変数による対処とかも出ています。  
[Windows 上の Python で UTF-8
をデフォルトにする](https://qiita.com/methane/items/9a19ddf615089b071e71)  
[Unicode HOWTO](https://docs.python.org/ja/3.9/howto/unicode.html)

ただしまだまだencodingは混在しているでしょうから、ファイル毎に`encoding`指定するのが確実でしょう。

* * *

それから作成したスクリプトを`python.py`とか`test`といった一般的な、あるいはその時点で使おうとしている機能や読み込もうとしているモジュールの名前を使うことも問題の原因になり得ますので注意してください。初心者の良くある間違いを検索して覚えておくと良いでしょう。


CC BY-SA 4.0
2021-03-03T16:26:39.337
74400
2021-03-03T16:26:39.337
26370
74396
answer