2016-11-23 5 views
-1

私はPythonプロジェクトを持っています(project_dirディレクトリ下に置いておきます)。 project_dir/srcの下logging.ini設定ファイルの場所

project_dir/ ---------- src/ ----------- util.py 
      | 
      |----- logging.ini 

、私はutil.pyを持って、loggerが定義され、ロギングは以下のように設定ファイルを呼び出すことにより構成されている。ここで

logging.config.fileConfig('logging.ini', disable_existing_loggers=False) 
logger = logging.getLogger(__name__) 

、私は、ファイル名を指定してlogging.iniを呼び出します。そして、それは正常に動作しています。ただし、ファイルはproject_dirの直下にあります。つまり、project_dir/logging.iniです。

私は 'logging.ini'の呼び出しが正常に動作していますが、../logging.iniは呼び出されません。私が言うことができない理由:私にエラーを与える

logging.config.fileConfig('../logging.ini', disable_existing_loggers=False) 

を:

ConfigParser.NoSectionError: No section: 'formatters' 

それはPyCharmである私のIDE、とは何かを持っています。

PyCharmから実行するか、サーバーで実行するかは異なりますか?

+0

'../ logging.ini'はlogging.ini''と同じではありませんので。 '..'は* 'ファイル階層内の一つのディレクトリ' *を意味します。 –

+0

はい。しかし '../login.ini'は' util.py'が 'project_dir/src/util.py'にあるので、ロギング設定ファイルは' project_dir/logging.ini'にあるので、 '../login.ini'にする必要があります。 'util.py'は、レベルを1つ上に進めて' logging.ini'を呼び出すべきですか? – fluency03

答えて

1

私の推測では、あなたの「現在の作業ディレクトリ」はあなたが思うものではありません。

現在の作業ディレクトリの使用を取得するには:

import os 
cwd = os.getcwd() 
関連する問題