2012-02-28 10 views
14

せずにキーを受け付けません。 Python 3.2.1を使用します。このスクリプトは、完成した時点で、同じバージョンのPythonを使用しているWindows 2008 R2マシン上で実行されるか、またはその時点での最新バージョンである互換性があるとみなされます。のPythonのConfigParserは、だから私は、configファイルからの読み込み、スクリプトを書いている、と私はConfigParserのがここで概説として使用するように設計されて正確にどのようにそれを使用したい値

#!/user/bin/env python 
import configparser 

config = configparser.ConfigParser() 
config.read('c:\exclude.ini') 
config.sections() 

exclude.iniファイルを読み込むのに問題はありません。キーがない場合は除きます。ここに記載されている例を解析しようとした私が何か間違ったことかもしれない思考:http://docs.python.org/release/3.2.1/library/configparser.html#supported-ini-file-structure

は、それはまだたびに次のことをスロー:

File "C:\Python32\lib\configparser.py", line 1081, in _read 
    raise e 
configparser.ParsingError: Source contains parsing errors: c:\exclude.ini 
    [line 20]: 'key_without_value\n' 

私は途方に暮れてよ...私は、文字通りコピーしてる/貼り付けを私が使用している正確なpythonバージョンのドキュメンテーションのサンプルコードです。それはうまくいきません。似たような問題を抱えている人を見つけることができないので、私は何かが欠落しているとしか思えません。

答えて

12

ConfigParser constructorにはキーワード引数allow_no_valueがあり、デフォルト値はFalseです。

これをtrueに設定してみてください。私はそれがあなたのために働くことを賭けています。

+0

素晴らしい(allow_no_value =真)、。おそらく、私はそれらの例を変更することを提案する注釈を送るべきです。そのセクションの上にコメントを置くことは、コンストラクタが変更された場合にのみその部分を指摘します。私はドキュメント全体を読むべきだったと思いますが、デフォルトではこのように動作していたはずだと思っていました。 – Sparc

+0

セクションでは、このように見える場合、これでも動作します: [ソフトウェア] 3700ジャーナルコピー1.0.2 は、Adobe Flash Player 11のActiveX のAdobe Reader X(10.1.7) - ドイツ DOTNETの枠組み4.0 [...] – enthus1ast

0
class RawConfigParser: 
def __init__(self, defaults=None, dict_type=_default_dict, 
      allow_no_value=False): 
    self._dict = dict_type 
    self._sections = self._dict() 
    self._defaults = self._dict() 
    if allow_no_value: 
     self._optcre = self.OPTCRE_NV 
    else: 
     self._optcre = self.OPTCRE 
    if defaults: 
     for key, value in defaults.items(): 
      self._defaults[self.optionxform(key)] = value 

輸入のConfigParser

CF = ConfigParser.ConfigParserカールありがとう

関連する問題