python配置文件转dict
配置文件有很多种,如JSON,properties,conf,xml等。
除非需要跟别的语言进行交互,python本身是完全可以取代所有配置文件的。使用python进行配置可以使用非常灵活地执行一些逻辑运算,这点是JSON、XML等格式所无法比拟的,但是配置文件中掺入太多的逻辑并不是好方法。
将python版的配置文件转化为其它格式非常简单,只需要写一个函数即可
首先创建一个config.py文件,里面的配置包含int,str,dict,list等类型的数值。
config.py
one = 1
two = 2
three = one + two
four = {
"one": 1,
"two": 2,
"three": 3
}
five = "天下大势为我所控"
six=[one,two,three]
然后创建load.py,实现to_dict函数
import config
import json
def to_dict(config):
ans = dict()
for i in dir(config):
if i.startswith("__"): continue
x = getattr(config, i)
if type(x) in (dict, int, str, float,list):
ans[i] = x
return ans
class config2:
one = 1
two = 2
three = one + two
four = {
'one': 1,
'two': 2
}
five = "天下大势为我所控"
six = [one, two, three]
print(json.dumps(to_dict(config), ensure_ascii=0))
print(json.dumps(to_dict(config2), ensure_ascii=0))
python配置文件转dict的更多相关文章
- python基础之dict、set及字符
python基础之dict.set及字符串处理 本节内容 字典介绍及内置方法 集合介绍 字符串处理 1.字典介绍及内置方法 字典是python中唯一的映射类型,采用键值对(key-value)的形式存 ...
- Python中的dict和set
1.dict定义: Python写一个dict如下: >>> d = {'Michael': 95, 'Bob': 75, 'Tracy': 85} >>> d[' ...
- python基础——使用dict和set
python基础——使用dict和set dict Python内置了字典:dict的支持,dict全称dictionary,在其它语言中也称为map(映射),使用键-值(key-value)存储,具 ...
- 第四篇:python基础之dict、set及字符
python基础之dict.set及字符 python基础之dict.set及字符串处理 本节内容 字典介绍及内置方法 集合介绍 字符串处理 1.字典介绍及内置方法 字典是python中唯一的映射 ...
- python字符串格式化--dict传参
# -*- coding: utf-8 -*- #python 27 #xiaodeng #python字符串格式化--dict传参 print "I'm %(name)s. I'm %(a ...
- Python学习——使用dict和set
dict Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度. 举个例子,假设要根据同学的名字 ...
- Python学习笔记—Dict和set
dict Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度. 举个例子,假设要根据同学的名字 ...
- Python 内置类型 dict, list,线程安全吗
近段时间发现一个 Python 连接数据库的连接是线程不安全的,结果惹得我哪哪儿都怀疑变量的多线程是否安全的问题,今天终于找到了正确答案,那就是 Python 内置类型 dict,list ,tupl ...
- Python基础之dict和set的使用
dict Python内置了字典:dict的支持,dict全称dictionary,在其他语言种也称为map,使用键-值(key-value)存储,具有极快的查找速度. 举个例子,假设要根据同学的名字 ...
随机推荐
- 8天学通MongoDB——第一天 基础入门(转)
关于mongodb的好处,优点之类的这里就不说了,唯一要讲的一点就是mongodb中有三元素:数据库,集合,文档,其中“集合” 就是对应关系数据库中的“表”,“文档”对应“行”. 一: 下载 上Mon ...
- Android -- MediaRecord
MediaRecord 集成了录音.编码.压缩等,支持少量的录音音频格式,大概有.aac .amr .3gp 优点:大部分以及集成,直接调用相关接口即可,代码量小 缺点:无法实时处理音频:输出的音频格 ...
- Softmax 函数的特点和作用是什么?
作者:张欣链接:https://www.zhihu.com/question/23765351/answer/98897364来源:知乎著作权归作者所有,转载请联系作者获得授权. softmax 回归 ...
- PDO 增删改查封装的类
Selecting Data 你在mysql_*中是这样做的 <?php $result = mysql_query('SELECT * from table') or die(mysql_er ...
- [Algorithm] Find merge point of two linked list
Assume we have two linked list, we want to find a point in each list, from which all the the nodes s ...
- 浮动闭合最佳方案:clearfix
之前给大家介绍两种浮动闭合的办法CSS清除浮动 万能float闭合,得知很多同学都在使用下面的骨灰级解决办法: .clear{clear:both;height:0;overflow:hidden;} ...
- 【Python】torrentParser1.00
代码: #------------------------------------------------------------------------------------ # torrentP ...
- 视频播放代码 crastr3
下载:http://down.51cto.com/data/1904974 代码(亲测): <html xmlns="http://www.w3.org/1999/xhtml" ...
- 【医疗行业】关于dcm4che DICOM Toolkit:C-Move与C-Get
在医学影像领域,DICOM标准与dcm4che的重要性毋庸置疑.幸好,这些开源的dcm4che DICOM 工具包,能对我们提供不少帮助. 在这里有很多的工具: Sources: https://gi ...
- 微信小程序 - 自定义导航栏(提示)
点击下载: 自定义导航栏示例