Skip to content

Python: ConfigParserのエラー (No Section Error)

Python: ConfigParserとは?

  • ConfigParserは、Pythonの標準モジュール。pipで入れる必要がなく、いきなりimportで使える。
  • 設定値をファイルに切り出した場合に、その設定ファイルを読み込ませる用途などに使います。
  • Python2系、3系、両方で使用可能。
    詳しくはこちら。
    https://www.python-izm.com/advanced/config_parser/



ConfigParser: No Section Error

python2.7でCGI(Webアプリ)を作っているときに以下のエラー(No Section Error)が発生した。「basic-config」の項目がないといわれているようだが、「basic-config」の項目は書いてある。

(上記画像は、ブラウザからアクセスしたときに「cgitb.enable()」で出力されたエラー画面の一部です。)

<settings.confファイル>

[basic-config]
itme01 = value01


なぜかサーバー上でプログラムを実行させるとエラーは出てこないが、クライアントPCからブラウザでアクセスするとエラーとなって表示されない。

結局のところ、ConfigParserで開くファイルをフルパスで書いてあげればよかったようだ。

<訂正前>

config = ConfigParser.ConfigParser()  
config.read("./settings.conf")
value01 = conf_file.get('basic-config', 'item01')


<訂正後>

config = ConfigParser.ConfigParser()  
config.read(r"/username/public/cgi/settings.conf")
value01 = conf_file.get('basic-config', 'item01')


パスを訂正前のように省略して書くと、ブラウザからアクセスしに行ったときは、publit/setting.conf(httpサーバーが起動しているルートフォルダ配下)を見に行って、「そんなファイルないですよ」のエラーになっているようでした。



ConfigParser:参考サイト

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA