2017-03-09 19 views
8

を、私はこのように、Pythonの3のpathlibモジュールを使用しています:エラーを取得、pathlibを使用して:TypeError例外:無効なファイル:PosixPath( 'EXAMPLE.SQL')

from pathlib import Path 

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

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

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

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

答えて

12

pathlibは、Python 3.6以降ではopenと一見無関係です。 Python 3.6's release notesから:

The built-in open() function has been updated to accept os.PathLike objects, as have all relevant functions in the os and os.path modules, and most other functions and classes in the standard library.

だけオブジェクトを文字列に変換し、それは、Python 3.5とPython 3.6で動作するように取得するには:

contents = open(str(filename), "r").read() 
関連する問題