python操作.ini配置文件
.ini配置文件
ini文件: 这个在windows下用的比较多,只支持一层参数,太复杂的项目就不适用了
1. 后缀
一般为 .ini .cfg .config .txt
2. 格式
由:节、键、值组成。
(1)节
数据段的段名,用中括号包裹
(2)键-值对
通用参数(DEFAULT)
[DEFAULT]
此小结下的变量在所有小节中均可使用
python生成ini文件
import configparser
config = configparser.ConfigParser()
config['DEFAULT'] = {'name': 'xc'}
config["memory"] = {'total': 13190108,
'available': 11745396,
}
config['ipaddress'] = {'IP': "192.168.168.138"}
config['CPUnum'] = {'CPU': 4}
with open('config.ini', 'w') as conf_fh:
config.write(conf_fh)
生成的config.ini文件
[DEFAULT]
name = xc
[memory]
total = 13190108
available = 11745396
[ipaddress]
ip = 192.168.168.138
[CPUnum]
cpu = 4
python读取ini文件
读取上述生成的 config.ini 文件
import configparser
config_ini = "config.ini"
conf = configparser.ConfigParser()
conf.read(config_ini)
print(dict(conf))
print(dict(conf['memory']))
输出结果
{'DEFAULT': <Section: DEFAULT>, 'memory': <Section: memory>, 'ipaddress': <Section: ipaddress>, 'CPUnum': <Section: CPUnum>}
{'total': '13190108', 'available': '11745396', 'name': 'mdb'}
# DEFAULT小结中的name变量也出现在memory小结中
perl 读取ini风格配置文件
DEFAULT中变量无法在其他小节中使用
use Config::IniFiles;
my $config_file = "config.ini";
## 方式一
my $cfg = new Config::IniFiles( -file => $config_file );
my $value = $cfg->val('ipaddress', 'ip');
print($value, "\n");
方式二
my %ini;
tie %ini, 'Config::IniFiles', ( -file => $config_file );
print($ini{'ipaddress'}{'name'}, "\n");
print(%ini{'ipaddress'}};