Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [Python] File di configurazione

    Come si fa a modificare un opzione su un file di configurazione con il modulo ConfigParser di Python???
    Claudio

  2. #2
    io solitamente faccio così per leggere e salvare i file di Configurazione (p.s: le info vengono prese dagli argomenti passati all'avvio del file):

    codice:
    import ConfigParser
    import string
    
    class IniSettings:
    	def __init__(self, filename):
    		self.filename = filename
    		self.settings = self.__loadConfig()
    	
    	def __loadConfig(self):
        		config = {}
    		cp = ConfigParser.ConfigParser()
    		cp.read(self.filename)
    		for sec in cp.sections():
    			settings={}
    			name = string.lower(sec)
    			for opt in cp.options(sec):
    				settings[string.lower(opt)] = string.strip(cp.get(sec, opt))
    			config[name] = settings
    		return config
    
    	def reload(self):
    		self.__loadConfig()
    
    	def save(self):
    		inifile = open(self.filename, 'w')
    		for group in self.settings.keys():
    			inifile.write("\n["+group+"]\n")
    			for key in self.settings[group].keys():
    				inifile.write(key+"="+self.settings[group][key]+"\n")
    	
    	def set(self, group, key, value):
    		self.settings[group][key] = value
    	
    	def set_dict(self, dict):
    		for group in dict.keys():
    			for key in dict[group].keys():
    				self.settings[group][key] = dict[group][key]
    
    import sys
    
    def getOptions(argv):
    	opts= {}
    	while argv:
    		if argv[0][0] == '-':
    			opts[argv[0]] = argv[1]
    			argv = argv[2:]
    		else:
    			argv = argv[1:]
    	return opts
    
    
    options = getOptions(sys.argv)
    
    settings = IniSettings(options['-ini'])
    settings.set('path','data', options['-datadir'])
    settings.save()
    eXtending-Php.net coming soon ...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.