web-dev-qa-db-ja.com

インポートロギングとインポートlogging.configの両方が必要なのはなぜですか?

1回のインポートで処理するべきではありませんか?つまり、ログをインポートします。スクリプトにimportlogging.configを含めないと、次のようになります。

AttributeError: 'モジュール'オブジェクトに属性 'config'がありません

32
Shefali

loggingはパッケージです。パッケージ内のモジュールは、ユーザー(またはプログラム内の何か)がインポートするまでインポートされません。両方は必要ありませんimport loggingおよびimport logging.configしかし:ただimport logging.configは名前loggingをすでに利用可能にします。

43
Thomas Wouters

トーマスの答えに追加の説明を追加するだけです。

loggingはパッケージ、ディレクトリです。

ロギングディレクトリを入力し、そこにあるファイルをリストします。

config.py handlers.py __init__.py __pycache__

したがって、ロギングディレクトリにconfig.pyファイルがありますが、なぜimport logging.configできないのですか。これは、logging/__init__.pyconfig名前空間がないためです。

0
DennisLi