2017-08-20 24 views
0

以下のコードは、ConfigParserを継承するConfigurationクラスのインスタンスであるconf変数を開始します。 __init__メソッドでは、config_fileを読み込み、その構成コンテキストをメモリに格納します。 config_fileconfオブジェクトを持つファイルパスを取得するにはどうすればよいですか?configparserオブジェクトで設定ファイルのパスを取得する方法

import ConfigParser 
import os 


class Configuration(ConfigParser.ConfigParser): 
    def __init__(self, config_file): 
     ConfigParser.ConfigParser.__init__(self) 
     self.read(config_file) 

    def saveSettings(self): 
     if not self.has_section('Section A'): 
      self.add_section('Section A') 
     self.set('Section A', 'Option 1', 'Value 1') 

config_file = os.path.join(os.path.expanduser('~'),'config.ini') 
conf = Configuration(config_file) 
conf.saveSettings() 

答えて

2

単にインスタンス(self)に情報を割り当てる:

def __init__(self, config_path): 
    ConfigParser.ConfigParser.__init__(self) 
    self.read(config_path) 
    self.config_path = config_path # this is now an instance attribute 

その後、あなたがオブジェクトとそれにアクセスすることができます

conf_path = os.path.join(os.path.expanduser('~'),'config.ini') 
conf = Configuration(conf_path) 

print(conf.conf_path) # access via object 
+0

私は 'ConfigParser'が既に'これを格納望んconfig_path'ファイルのどこかのパスの値。ですから、 'self.config_path'変数を覚えておく必要はありません。 – alphanumeric

関連する問題