【Python】读取写入INI文件
最近,写个abaqus的python脚本,需要输入的item比较多,而且也有一些不经常修改但又可能要修改的option。如果都用abaqus的getinput()和getinputs()函数,那输入的时候,屏幕上一个长长的输入框,也不方便。刚好,ini这种文件格式又方便又简单明了。python也有自带的解析器。
学习笔记如下
# %%
# Python2中是from ConfigParser import ConfigParser
from configparser import ConfigParser
# 需要实例化一个ConfigParser对象
conf = ConfigParser()
# 需要添加上config.ini的路径,不需要open打开,直接给文件路径就读取,也可以指定encoding='utf-8'
conf.read('config.ini')
# 读取user段的name变量的值,字符串格式
print(conf['user']['name'])
# %% [markdown]
# conf对象每个section段的数据类似于一个字典,可以使用[‘变量名’]或者.get(‘变量名’)获取对应的值,获取到的是字符串格式。
#
# ini文件中的变量名是大小写不敏感的,而Section名是大小写敏感的。
#
# 常用的读取方法:
# %%
# GET ALL SECTIONS NAME ;
conf.sections()
# RESULT IS = ['user', 'mysql', 'log']
# %%
# GET some section's var 'value ;
# return is string
print(conf['mysql']['port'] )
# 同上,字符串格式
print(conf['mysql'].get('host') )
# : 同上,字符串格式
print(conf.get('mysql', 'db'))
# 返回数据类型为int
conf['mysql'].getint('port')
# 返回数据类型为float
conf['mysql'].getfloat('port')
# 返回数据类型为bool,将ini文件中的0/1,yes/no,
# on/‘off, true/false转换为python的True/False
conf['user'].getboolean('is_admin')
# %%
conf.has_section('log') # 检查是否有名为log的section,返回bool 。
conf.options('log') # 输出log section中所有的变量名,返回一个list。
conf.has_option('mysql', 'host') # 检查[mysql]下是否有host
# %%
# 判断是否有这个section
if conf.has_section('log') :
# 如果有,就返回所有的var
print(conf.options('log'))
# %% [markdown]
# ### 公共变量
# 假如每个Section变量组都有一批相同的重复变量,就可以在ini文件开头设定[DEFAULT]变量组。
#
# 公用变量会自动添加到每一个段中。`conf['otherSectionName']['PublicVarName'] `同样能获取到变量的值。
#
# conf对象常用的修改如下:
# %%
conf.add_section('ADD') # 添加section:[ADD]
# 在指定section中添加变量和变量值,section必须存在或已添加,
# value必须为字符串形式,可以设置DEFAULT字段的值
conf.set('ADD', 'add 1', '100')
conf.set('ADD','add 2','200')
global f
f=open('modify.ini','w',encoding='utf-8')
# 移除指定section下指定变量
conf.remove_option('ADD', 'add 2')
conf.remove_section('ADD')# 移除section
conf.write(f)
print(conf)
f.close()
【Python】读取写入INI文件的更多相关文章
- C语言实现 读取写入ini文件实现(转)
#include <stdio.h> #include <string.h> /* * 函数名: GetIniKeyString * 入口参数: title * 配置文件中一组 ...
- python 读取 写入txt文件
filename = 'pi_digits.txt' with open(filename) as f:#默认以只读方式打开文件 lines = f.readlines()#读取所有行,结果为列表,每 ...
- Python 读取写入配置文件 —— ConfigParser
Python 读取写入配置文件 —— ConfigParser Python 读取写入配置文件很方便,可使用内置的 configparser 模块:可查看源码,如博主本机地址: “C:/python2 ...
- MFC写入.ini文件的策略
在使用WritePrivateProfileString的时候, 如果前两个参数已经在INI文件中存在,那该函数的作用就是修改键值,即楼主说的覆盖 如果第一个参数存在,第二个参数不存在,那作用是在IN ...
- 【WPS】表格使用VBA宏编程写入ini文件实现软件多语言
前言:公司软件最近在做多语言版本,而又来一个西班牙文版本的,之前已经做过中文版本,英文版本和法文版本,之前是同事做的,现在安排我做,之前的做法,使用wps表格,翻译好,然后一个一个复制粘贴到ini文件 ...
- python 读取配置文件ini ---ConfigParser
Python读取ini文件需要用到 ConfigParser 模块 关于ConfigParser模块的介绍详情请参照官网解释:https://docs.python.org/2.7/library/c ...
- boost::property_tree读取解析ini文件--推荐
boost::property_tree读取解析ini文件 #include "stdafx.h" #include <iostream> #include <b ...
- python读取Excel表格文件
python读取Excel表格文件,例如获取这个文件的数据 python读取Excel表格文件,需要如下步骤: 1.安装Excel读取数据的库-----xlrd 直接pip install xlrd安 ...
- 用C#读取,写入ini文件
[DllImport("kernel32.dll")] private static extern bool WritePrivateProfileString(string se ...
- C语言实现<读取>和<写入> *.ini文件(转)
原地址:https://blog.csdn.net/niha1993825jian/article/details/41086403 #include <stdio.h> #include ...
随机推荐
- Mapstruct使用时报Unknown property xxx in result type xxx. Did you mean null
0.背景 使用mapstruct时出现: Unknown property "xxx" in result type xxx. Did you mean "null&qu ...
- 代码依赖包安全漏洞检测神器 —— Dependency Check
目前各个企业对于应用的安全越来越重视,而解决应用漏洞的本质是从代码安全抓起.通常关于代码的安全问题有两类:代码本身的安全问题和代码依赖包存在的安全问题.对于代码本身的安全问题,我们可以通过静态代码分析 ...
- Qt数据库应用9-数据导出组件使用方法
一.使用方法 1.1 第一步:引入组件 组件中所有代码文件是一个整体,不支持单个代码文件拆分使用,因为很多通用的方法都放在一个代码文件中,复用很多代码. datehead是本组件用到的头文件以及通用的 ...
- Qt通用方法及类库7
函数名 //int转字节数组 static QByteArray intToByte(int i); static QByteArray intToByteRec(int i); //字节数组转int ...
- [转]OpenCV学习笔记(十五)——摄像机的标定和3D重建calib3D
OpenCV学习笔记(十五)--摄像机的标定和3D重建calib3D OpenCV学习笔记(16)双目测距与三维重建的OpenCV实现问题集锦(一)图像获取与单目定标 翻译 搜索 复制
- findHomography()函数详解
indHomography: 计算多个二维点对之间的最优单映射变换矩阵 H(3行x3列) ,使用最小均方误差或者RANSAC方法 函数功能:找到两个平面之间的转换矩阵. Mat cv::findHom ...
- c# yield return
这个函数在处理循环时可以每生成一个数据就返回一个数据让主函数进行处理: static void Main(string[] args) { foreach (var item in GetNumber ...
- SpringBoot(六) - 阿里巴巴的EasyExcel
1.依赖 <!-- 阿里EasyExcel start --> <dependency> <groupId>com.alibaba</groupId> ...
- 阿里云-网络和CDN
https://www.aliyun.com/product/network/network?spm=5176.24532587.J_3207526240.73.1ac66489MpvOtf
- PDCA使用指南详解(史上最强)
PDCA循环,一个老话题了,大家都知道要这么做,但在平时的生活和工作当中,你是否真的都这样做呢? 当你发现你面对的困难重重,寸步难行时,是否反思过是因为自己一开始的方法就不正确? 本文包涵了PDCA循 ...