2017-05-20 7 views
0

設定パーサモジュールを動作させるのに問題があります。私は現在、ファイルバックアッププログラムを作成中ですが、値を設定するたびに.iniファイルには表示されません。 config.getは正しく設定されていることを確認しますが、document_backup.iniは空白です。ConfigParserは新しい値の設定に成功しましたが、ini Python 3には表示されません

config = configparser.ConfigParser() 
config.read('document_backup.ini') 
config.set('FTP_Login','Host',input("FTP Host: ")) 
config.set('FTP_Login','UserName',input("FTP UserName: ")) 
config.set('FTP_Login','Password',input("FTP Password: ")) 
config.read('') #To close the file, I think 

答えて

1

メモリ内の構成を変更しても、最初に読み込まれたファイルには影響しません。新しい構成をディスクに書き戻す必要があります。

config = configparser.ConfigParser() 
config.read('document_backup.ini') 
config.set('FTP_Login','Host',input("FTP Host: ")) 
config.set('FTP_Login','UserName',input("FTP UserName: ")) 
config.set('FTP_Login','Password',input("FTP Password: ")) 
with open("document_backup.ini.new", "w") as fh: 
    config.write(fh) 
os.rename("document_backup.ini", "document_backup.ini~") 
os.rename("document_backup.ini.new", "document_backup.ini") 

configparserモジュールは編集既存の設定ファイルにどのような方法を提供していないことに注意してください。新しいファイルは同等の構成を生成しますが、元のファイルと同じ形式ではない可能性があります。

config = ConfigParser.RawConfigParser() 
config.add_section("MyApp") 
config.set("MyApp", "window_height", self.height()) 
config.set("MyApp", "window_width", self.width()) 
configfile = open("/path/to/the/file.ini", 'w') 
config.write(configfile) 
configfile.close() 

をし、そこから読み:

0

config.read('')ファイルを閉じていません...

これを試してみてください、それは私のために働いて

config = ConfigParser.RawConfigParser() 
config.read("/path/to/the/file.ini") 
self.width = config.getint("MyApp", "window_height") 
self.height = config.getint("MyApp", "window_width") 

それはconfig.getboolean("MyApp","variable")でも動作します文字列の場合はconfig.get("MyApp","variable")

関連する問題