【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 ...
随机推荐
- 比特币源码分析--深入理解区块链16.Base58编码和解码
比特币源码分析--深入理解区块链16.Base58编码和解码 Base58是比特币中使用的一种独特编码方式,它主要用于比特币的钱包地址,在前面文章已经介绍过如何通过椭圆曲线方程算法,通过私钥来生成 ...
- shell之变量默认值
{var:-default_value}当var 不存在,或者值为空时,返回default_value name不存在,返回了一个默认值,但是name并没有改变, 后续不可访问 $ set -u # ...
- Linux&shell通过正则表达式查找文件练习
linux&shell编程中通过正则表达式来匹配查找文件极大的提高查找效率. 首先,解释一下下边出现的命令. linux部分: ls:查看文件夹内的命令. |:管道. grep:搜索后边匹配的 ...
- MySQL百万级数据量分页查询方法及其优化
1. 直接用limit start, count分页语句, 也是我程序中用的方法: select * from product limit start, count 当起始页较小时,查询没有性能问题, ...
- Qt音视频开发26-监控画面各种图形绘制设计
一.前言 视频监控系统做到后面,逐渐需要搭配人工智能算法,将算法计算后的信息以OSD标签以及方框各种图形的信息显示到视频中,这种当然和OSD一样也是有两种方式,一种是源头就贴好了,一种是将结果发给软件 ...
- TypeScript学习(二) - TypeScript的接口(interface)和类(class)
1. 对象的类型--接口 1.1 什么是接口 1.2 简单的例子 1.3 可选属性 1.4 任意属性 1.5 只读属性 2. 类 2.1 类的概念 2.2 ES6 中类的用法 属性和方法 类的继承 存 ...
- Java子线程无法获取Attributes的解决方法
在Java多线程编程中,开发者经常会遇到子线程无法获取主线程设置的Attributes的问题.Attributes通常用于存储与当前线程相关的数据,尤其在Web应用中,它们常用于请求上下文的管理.然而 ...
- Mac terminal proxy
cat >> ~/.bash_profile << EOF function proxy_on() { export http_proxy=http://127.0.0.1:7 ...
- 「规则类怪谈」塔 - (preview)
前段时间,大概五六月份,我很喜欢规则类怪谈.颓废的时候读了一大堆质量参差不齐的作品,试着编了一个世界观然后开写.咕着咕着磨到现在,至少情节大概成形了.最大的阻力在于物理规则的完备性和自洽性,为什么 ...
- VS2022推送代码 到github错误: CertGetCertificateChain trust error CERT_TRUST_IS_PARTIAL_CHAIN的解决办法
VS2022推送代码 到github错误: CertGetCertificateChain trust error CERT_TRUST_IS_PARTIAL_CHAIN 解决办法: 进入到 选项&g ...