PythonでエラーのAttributeError: module ‘xxx’ has no attribute ‘xxx’が起きた場合の対処方法

python

Pythonファイルを実行するとAttributeError: module ‘xxx’ has no attribute ‘xxx’というエラーが起こる場合があります。

実はこのエラーの解決方法は非常にシンプルです。

AtributeErrorが起きた場合の対処方法

このようなエラーが起きた場合に確認してほしいのがファイル名とimportの指定が同名であるか否か。

このような場合、importの指定と同じファイル名称にするとそちらを読み込んでしまうのがエラーの原因となります。

例えば、CSVファイルを新規作成するプログラム(ファイル名:csv.py)を書いてみるとします。

importの指定とファイル名が被ってしまっていますね。

import csv

with open('test.csv', 'w') as csv_file:
    fieldnames = ['Name', 'Score']
    writer = csv.DictWriter(csv_file, fieldnames=fieldnames)
    writer.writeheader()
AttributeError: module 'csv' has no attribute 'DictWriter'

解決方法は簡単で、ファイル名を別のものに替えることで解決します。

ファイル名が同名のものでない場合は、そもそもそのモジュールにはxxxという機能がないと怒られているので、そちらを確認しましょう。



カテゴリー