【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 ...
随机推荐
- 【前端】HTML编码效提升:快速生成HTML标签
目录 1.生成多级标签 2.生成同级标签 3.生成注释 4.生成多个相同标签 5.生成带class标签 6生成带id标签. 7.生成带内容标签1 8.生成带内容标签2 9.生成带属性标签 GIF演示: ...
- 【转载】Spring Cloud Gateway限流详解
https://www.imooc.com/article/290828/ Spring Cloud Gateway限流详解 2019.08.11 12:56 7257浏览 Spring Clou ...
- [转]vue:引入外部cdn报错 ‘XXX is not defined’ 及事件处理办法
框架:vue-cli(vue脚手架) 例:以cdn引入腾讯防水墙为例 前因:在html的head中引入外部cdn链接, 在vue文件中直接使用,如图: 结果:如图报错. 解决办法: 1. 在index ...
- 即时通讯技术文集(第30期):IM开发综合技术合集(Part3) [共16篇]
为了更好地分类阅读 52im.net 总计1000多篇精编文章,我将在每周三推送新的一期技术文集,本次是第30 期. [- 1 -] 全面掌握移动端主流图片格式的特点.性能.调优等 [链接] htt ...
- Qml 中实现毛玻璃效果
[写在前面] 毛玻璃效果(Acrylic Effect)是一种常见的 UI 设计风格,它通过模糊背景并添加透明度和噪声效果,使界面元素看起来像是半透明的磨砂玻璃. 本文将介绍如何使用 Qml 实现这种 ...
- Ubuntu安装宝塔服务
Linux面板7.9.4安装脚本 查看详细安装教程 使用 SSH 连接工具,如 堡塔SSH终端 连接到您的 Linux 服务器后, 挂载磁盘 ,根据系统执行相应命令开始安装(大约2分钟完成面板安装): ...
- tomcat源码分析(二)如何处理请求
概述 tomcat的核心就是处理请求, 接收Request, 建立Socket链接, 处理,返回Response. 通过前面的架构图可以知道每个Service都包括连接器Connector组件和容器C ...
- 开箱你的 AI 语音女友「GitHub 热点速览」
随着大模型 API 服务的不断丰富,开发者无需再依赖昂贵的硬件,也能轻松开发出拥有强大 AI 能力的应用.这不仅降低了技术门槛,也激发了极客们的创造力. 就比如上周飙升 1.5k Star 的开源项目 ...
- WPF 加载外部字体
例如将字体放入d:/Fonts 文件夹.然后就可以通过类似 btn.FontFamily = new FontFamily("file:///d:/Fonts/#Ashley"); ...
- mina保持android端\服务端的长连接-copy
一.mina简介 Apache Mina是一个能够帮助用户开发高性能和高伸缩性网络应用程序的框架.与Netty出自同一人之手,都是一个介于应用程序与网络之间的NIO框架,通过Java nio技术基于T ...