ich weis es ist noch sehr unfertig und die tuple rückgabe
aber ich stelle es einfach mal hier rein ach ja kritik ist sehr erwünscht
das ist jetzt mein 3 projekt (btw. alle 3 sind noch unfertig )
das habe ich geschrieben weil ich mich ein wenig mit dem parsen beschäftigen wollte (auch wen ein ini parser nicht besonders schwer ist ...)
jedenfalls hier der code
ach ja er funzt kann aber zur zeit nur ini dateien laden speichern kommt noch und in die ini darf nur f = f aufgebaut sein wen sowas wie [base config] drin ist crasht das modul. Aber das werde ich übers wochende beheben und hoffentlich fertig schreiben
hier der code
das zweite argument bei load darf dict(oder einfach d) sein oder lis(oder einfach l) um das zurückgeben object zu bestimmen je nachdem was man will
wie gesagt die save funktion nicht benutzen
hier noch ein beispiel
Code: Alles auswählen
import IniParser
p = IniParser.Parser()
p.load("pfad", "dict")
Code: Alles auswählen
# -*- coding: utf-8 -*-
#!usr/bin/env python
class Parser(object):
def __init__(self):
self.config = None
self.inifile = None
self.objekt_type = None
def load(self, inifile, type="dict"):
self.inifile = inifile
self.loadinifile()
self.del_spaces()
self.seperate()
self.return_type(type)
return self.config
del self.inifile
def save(self, path, config_object):
self.get_type(config_object)
def loadinifile(self):
self.inifile = file(self.inifile, 'rb')
self.inifile = self.inifile.read()
def del_spaces(self):
self.inifile = self.inifile.replace(" ", "")
def seperate(self):
self.inifile = self.inifile.splitlines()
def return_type(self, type):
if type == "dict" or type == "d":
self.return_dic()
#elif type == "tuple":
# self.return_tuple()
elif type == "list" or type == "l":
self.return_list()
def return_dic(self):
self.config = {}
for config in self.inifile:
c = config.split('=')
self.config[c[0]] = c[1]
del c
def return_tuple(self):
self.config = ()
for config in self.inifile:
c = config.split('=')
self.config = ((c[0], c[1]))
del c
def return_list(self):
self.config = []
for config in self.inifile:
c = config.split('=')
self.config.append([c[0], c[1]])
del c
def get_type(self, config_object):
if type(config_object) is dict:
self.save_dict(config_object)
elif type(config_object) is list:
self.save_list(config_object)