【Python】SHIFT-JISで作成されたファイルを開く方法

この記事では、Pythonを使用してSHIFT-JISで作成されたファイルを開く方法と、ファイルが見つからない場合やSHIFT-JISでエンコードされていない場合のエラー処理について解説します。

SHIFT-JISファイルの扱い方やエラー処理のポイントを理解しましょう。

目次から探す

PythonでSHIFT-JISファイルを開く方法

PythonでSHIFT-JISで作成されたファイルを開く方法は、open() 関数を使用してファイルを開く際に、encoding='shift_jis' を指定することで簡単に行うことができます。

以下にサンプルコードを示します。

with open('shift_jis_file.txt', 'r', encoding='shift_jis') as file:
    content = file.read()
    print(content)

上記のコードでは、shift_jis_file.txt というSHIFT-JISでエンコードされたテキストファイルを読み込み、その内容を表示しています。

open() 関数の第三引数に encoding='shift_jis' を指定することで、PythonがファイルをSHIFT-JISでエンコードされたテキストとして正しく解釈します。

SHIFT-JISでエンコードされたファイルを開く際には、エンコーディングに注意してファイルを読み込むことが重要です。

SHIFT-JIS以外のエンコーディングで保存されたファイルをSHIFT-JISとして開こうとすると、文字化けやエラーが発生する可能性があるため、正しいエンコーディングを指定することが大切です。

エラー処理

ファイルが見つからない場合の処理

ファイルを開こうとした際に、指定したファイルが見つからない場合にはFileNotFoundErrorが発生します。

このエラーをキャッチして適切に処理を行うことが重要です。

以下に、ファイルが見つからない場合のエラー処理の例を示します。

try:
    with open('sample.txt', 'r', encoding='shift_jis') as file:
        data = file.read()
except FileNotFoundError:
    print("指定されたファイルが見つかりません。")
指定されたファイルが見つかりません。

上記の例では、sample.txtというファイルを読み込もうとしていますが、ファイルが存在しない場合にはFileNotFoundErrorが発生し、それをキャッチして指定されたファイルが見つかりません。と表示するようにしています。

ファイルがSHIFT-JISでエンコードされていない場合の処理

もし、指定したファイルが本当にSHIFT-JISでエンコードされているかどうか確認することが重要です。

もし、ファイルがSHIFT-JISでエンコードされていない場合には、UnicodeDecodeErrorが発生します。

以下に、ファイルがSHIFT-JISでエンコードされていない場合のエラー処理の例を示します。

try:
    with open('sample.txt', 'r', encoding='shift_jis') as file:
        data = file.read()
except UnicodeDecodeError:
    print("ファイルがSHIFT-JISでエンコードされていません。")
except FileNotFoundError:
    print("ファイルが見つかりませんでした。")
ファイルがSHIFT-JISでエンコードされていません。

上記の例では、sample.txtというファイルをSHIFT-JISで読み込もうとしていますが、ファイルがSHIFT-JISでエンコードされていない場合にはUnicodeDecodeErrorが発生し、ファイルがSHIFT-JISでエンコードされていません。と表示するようにしています。

ファイルのエンコーディングが正しいかどうかを事前に確認することで、エラーを事前に防ぐことができます。

目次から探す