msh*_*ren 10 python configuration module configuration-files
我一直在使用ConfigParser模块编写配置文件.然而,最近一个想法让我感到震惊; 为什么不使用纯Python呢?以此示例配置文件为例:
[parameters]
# Host
host = stackoverflow.com
port = 22
Run Code Online (Sandbox Code Playgroud)
要将这些值读入我的代码,我会这样做
import ConfigParser
config = ConfigParser.SafeConfigParser()
config.read('host.cfg')
host = config.get('parameters', 'host')
port = config.get('parameters', 'port')
Run Code Online (Sandbox Code Playgroud)
另一方面,如果我有这样的配置文件:
# Host
host = 'stackoverflow.com'
port = 22
Run Code Online (Sandbox Code Playgroud)
在我的主要代码中,我可以这样做:
from host_cfg import *
Run Code Online (Sandbox Code Playgroud)
那么使用ConfigParser模块可以获得什么?每种方法的优缺点是什么?
S.L*_*ott 10
那么使用ConfigParser模块可以获得什么?
与Windows .ini文件的兼容性.让一些人开心.
每种方法的优缺点是什么?
ConfigParser的语法有限,而且一些相对简单的事情变得非常人为.看看logging例子.
Python语法更简单,更易于使用.没有安全漏洞,因为当他们可以简单地破解你的源代码时,没有人会浪费时间来破解配置文件.实际上,他们可以破解大部分内置的Python库.就此而言,他们可以自己烹饪Python解释器.
当应用程序源代码中的其他地方有更多,更容易的漏洞利用时,没有人会浪费时间来破解配置文件.
| 归档时间: |
|
| 查看次数: |
1937 次 |
| 最近记录: |