HOWTO · Python
Python AttributeError: '_io.TextIOWrapper' オブジェクトに属性 'Split' がありません
このチュートリアルでは、AttributeError: io.TextIOWrapper object has no attribute split in Python を修正する方法を説明します。
属性は、オブジェクトまたはクラスに関連する値です。 メソッドでサポートされていないタイプのオブジェクトの属性を呼び出すと、Python AttributeError が発生します。
たとえば、_io.TextIOWrapper オブジェクトで split() メソッドを使用すると、AttributeError が返されます。これは、_io.TextIOWrapper オブジェクトが split() メソッドをサポートしていないためです。
このチュートリアルでは、Python で AttributeError: '_io.TextIOWrapper' object has no attribute 'split' を修正する方法を説明します。
AttributeError: '_io.TextIOWrapper' object has no attribute 'split' エラーを Python で修正する
次のコマンドは、開いているファイル オブジェクトに対して split() メソッドを使用します。
f = open("test.txt")
f.split()
出力:
split() メソッドはクラス _io.TextIOWrapper の属性ではないため、AttributeError を返します。 String クラスは、split() メソッドを提供して、文字列をリストに分割します。
このエラーは、for ループを使用して修正できます。
f = open("test.txt")
for line in f:
line.split()
ファイル オブジェクトの各行は文字列であるため、エラーは返されません。
クラス _io.TextIOWrapper で利用可能なメソッドを使用して、ファイル オブジェクトを文字列に変換することもできます。
read()- このメソッドは、ファイルの内容を読み取り、文字列として返します。readline()- ファイル内の 1 行を読み取り、文字列として返します。readlines()- このメソッドは、ファイルの内容を 1 行ずつ読み取り、文字列のリストとして返すのに役立ちます。
次に、AttributeError を取得せずに split() メソッドを呼び出すことができます。
f = open("test.txt")
str = f.read()
str.split()
これで、Python で AttributeError を解決する方法がわかりました。 この記事がお役に立てば幸いです。