web-dev-qa-db-ja.com

pathlibを使用すると、エラーが発生する:TypeError:無効なファイル:PosixPath( 'example.txt')

私はPython 3's pathlib モジュールを次のように使用しています:

from pathlib import Path

filename = Path(__file__).parent / "example.txt"
contents = open(filename, "r").read()

しかし、私はいくつかのマシンでこのエラーを受け取ります:

TypeError: invalid file: PosixPath('example.txt')

しかし、私のマシンでは動作します。

45
Flimm

pathlib Python 3.6以降でのみopenとシームレスに統合されます。以降 Python 3.6のリリースノート

組み込みのopen()関数は、osおよびos.PathLikeモジュール内のすべての関連関数、およびその他のほとんどの関数と同様に、os.pathオブジェクトを受け入れるように更新されました。標準ライブラリのクラス。

Python 3.5およびPython 3.6で機能させるには、オブジェクトを文字列に変換するだけです。

contents = open(str(filename), "r").read()
64
Flimm