PythonでEasyFileHandlingを使用しテキストファイル内のコンテンツを取得する

PythonでEasyFileHandlingを使用しテキストファイル内のコンテンツを取得してみます。

EasyFileHandlingは、Pythonの標準ライブラリではありませんので、事前にインストールする必要があります。

■Python

今回のPythonのバージョンは、「3.8.5」を使用しています。(Windows10)(pythonランチャーでの確認)

■テキストファイルを用意する

EasyFileHandlingでテキストファイル内のコンテンツを取得しますが、その前にテキストファイルを用意します。

今回は「C:\Users\user_\test(フォルダパス)」内に「test.txt」というテキストファイルを作成しました。ファイルの中身(コンテンツ)は上記になります。

■EasyFileHandlingを使用しテキストファイル内のコンテンツを取得する

テキストファイルが用意できましたので、EasyFileHandlingを使用しテキストファイル内のコンテンツを取得するスクリプトを書いていきます。

■コード

from EasyFileHandling.main import FileHandler

x = FileHandler(r"C:\Users\user_\test\test.txt")

print(x.get_file_content())

テキストファイル内のコンテンツを取得する場合は「EasyFileHandling.main」から「FileHandler」をインポートします。

その後、xという変数を作成し、その中でFileHandler()を使用します。括弧内には、引数,パラメータとして、テキストファイルの場所と名前を渡します。これでテキストファイルの中身(コンテンツ)を読み取ることができます。読み取ったものをx変数に格納します。

最後に、x変数に対してget_file_content()を使用します。これでファイル内の全てのコンテンツを返されます。返されたコンテンツをprint()関数で出力します。

■実行・検証

このスクリプトを「read_content.py」という名前で、Pythonが実行されている作業ディレクトリ(カレントディレクトリ)に保存し、コマンドプロンプトから実行してみます。

実行してみると、EasyFileHandlingを使用し、今回用意してテキストファイル内の全てのコンテンツを返し、print()関数で出力させることができました。

なお、テキストファイル内のコンテンツを日本語に変更し、実行してみました。

Traceback (most recent call last):
File "read_content.py", line 5, in <module>
print(x.get_file_content())
File "C:\Users\user_\AppData\Roaming\Python\Python38\site-packages\EasyFileHandling\main.py", line 22, in get_file_content
_content = f.read()
UnicodeDecodeError: 'cp932' codec can't decode byte 0x81 in position 25: illegal multibyte sequence

実行してみましたが、文字コードの影響でエラーが発生し、コンテンツを取得し出力させることができませんでした。リファレンス(https://filehandling.netlify.app/pythondocs.html)を確認しましたが、文字コードに関しては何も表記されていないので、未対応の模様。

コメント

タイトルとURLをコピーしました