class Properties:
def __init__(self, file_name):
self.file_name = file_name
self.properties = {}
if os.path.exists(file_name):
with open(file_name) as f:
for line in f:
tline = line.strip()
if tline.startswith('#'):
continue
else:
kv_list = tline.split('=', 2)
if not kv_list or len(kv_list) != 2:
continue
else:
value_list = kv_list[1].strip().split(',')
if not value_list:
continue
else:
if len(value_list) == 1:
self.properties[kv_list[0].strip()] = value_list[0].strip()
else:
temp = []
for v in value_list:
temp.append(v.strip())
self.properties[kv_list[0].strip()] = temp
else:
raise Exception("file %s not found" % file_name)
def get(self, key):
if key in self.properties:
return self.properties[key]
return ''
def get_list(self, key):
if key in self.properties:
temp = self.properties[key]
if isinstance(temp, list):
return temp
else:
return [temp]
return []
def get_num(self, key):
if key in self.properties:
return float(self.properties[key])
return 0
使用:
prop = Properties("/prop.properties")
print prop.get("key")