Python - Shift-JIS のファイルを開く

pathlibや組み込み関数 openの引数、encoding に 'shift_jis'を指定します。

組み込み関数 open で Shift-JIS のファイルを開く方法

open関数の引数に encoding='shift_jis' を追加します。

次のコードは 組み込み関数open() を使用し、Shift-JIS のファイルを開きます。

# 組み込み関数open() で Shift-JIS のファイルを開く
with open(file='shift-jis.txt', encoding='shift_jis') as file:
    text = file.read()

pathlib で Shift-JIS のファイルを開く方法

openメソッドの引数に encoding='shift_jis' を指定します。

次のコードは pathlib を使用し、Shift-JIS のファイルを開きます。

from pathlib import Path

# Path オブジェクトを生成
sjisFilePath = Path('shift-jis.txt')

# pathlib で Shift-JIS のファイルを開く
with sjisFilePath.open(encoding='shift_jis') as file:
    text = file.read()
    print(text)

encoding に指定できる日本語に対応したコーデック

全てのコーデックはPython公式ドキュメントを参照してください。
encoding 別名
cp932 932, ms932, mskanji, ms-kanji
euc_jp eucjp, ujis, u-jis
euc_jis_2004 jisx0213, eucjis2004
euc_jisx0213 eucjisx0213
iso2022_jp csiso2022jp, iso2022jp, iso-2022-jp
iso2022_jp_1 iso2022jp-1, iso-2022-jp-1
iso2022_jp_2 iso2022jp-2, iso-2022-jp-2
iso2022_jp_2004 iso2022jp-2004, iso-2022-jp-2004
iso2022_jp_3 iso2022jp-3, iso-2022-jp-3
iso2022_jp_ext iso2022jp-ext, iso-2022-jp-ext
shift_jis csshiftjis, shiftjis, sjis, s_jis
shift_jis_2004 shiftjis2004, sjis_2004, sjis2004
shift_jisx0213 shiftjisx0213, sjisx0213, s_jisx0213
utf_32 U32, utf32
utf_32_be UTF-32BE
utf_32_le UTF-32LE
utf_16 U16, utf16
utf_16_be UTF-16BE
utf_16_le UTF-16LE
utf_7 U7, unicode-1-1-utf-7
utf_8 U8, UTF, utf8, cp65001
utf_8_sig 無し

サンプルコードの実行結果

テスト用のファイル
テスト用のファイル
サンプルコードの実行結果
サンプルコードの実行結果

参考資料

検証環境