前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >[快学Python3]INI文件读写

[快学Python3]INI文件读写

作者头像
苦叶子
发布于 2018-04-09 02:20:56
发布于 2018-04-09 02:20:56
2.3K00
代码可运行
举报
文章被收录于专栏:开源优测开源优测
运行总次数:0
代码可运行

概述

ini是我们常见到的配置文件格式之一。

ini是微软Windows操作系统中的文件扩展名(也常用在其他系统)。

ini“初始化(Initial)”的缩写。正如该术语所表示的,INI文件被用来对操作系统或特定程序初始化或进行参数设置。

其基本组成形式如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[section_1]
key1 = value1
key2 = value2
key3 = value3
key4 = value4

[section_2]
key1 = value1
key2 = value2
key3 = value3
key4 = value4

我们通过Python的ConfigParser模块来对ini文件进行读写操作。

ConfigParser

读取
  • read(filename) 读取ini文件内容
  • sections() 获取所有的section,并以列表的形式返回
  • options(sections) 获取指定section的所有option
  • get(section,option) 获取section中option的值,返回为string类型
写入
  • set( section, option, value) 对section中的option进行更新

实例

我们先生成一个ini文件,并写入数据,然后在读取出来显示。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# -*- coding:utf-8 -*-

__author__ = '苦叶子'

# 导入模块

import configparser

if __name__ == "__main__":
    # 先构建一个对象
    config = configparser.ConfigParser()
    
    # 来让我们写入几组数据
    # 先新增一个section
    config.add_section("开源优测")
    
    # 在新增的section下加key-value键值对
    config.set("开源优测", "微号", "DeepTest")
    config.set("开源优测", "口号", "自我娱乐娱乐")
    config.set("开源优测", "号外", "其实我开了好多号")    
    
    # 再新增一个section,但不加key-value键值对
    config.add_section("我好孤单")    
    # 写入文件
    with open('iniConfig.ini', 'w') as configfile:
        config.write(configfile)  
    
    
    #####################################
    
    
    # 下面开始我们来把刚才的ini文件读出来看看
    config.read("iniConfig.ini")    
    # 获取它的所有section
    sections = config.sections()
    print(sections)   
    
    # 获取section下所有的options
    for sec in sections:
        options = config.options(sec)
        print(options)    

    # 根据sections和options获取对应的value值
    for sec in sections:
        for option in config.options(sec):
            print("[%s] %s=%s " % (sec, option, config.get(sec, option)))

小结

对INI文件应用场景,一般都是用于做初始化配置文件用,当然你要是愿意也可以用来做数据的存储。

留个小题目,请尝试自己用类封装一个通用的ini文件操作类。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-06-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 开源优测 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
用 preload 预加载页面资源
本文主要介绍preload的使用,以及与prefetch的区别。然后会聊聊浏览器的加载优先级。
ConardLi
2019/09/23
1.9K0
用 preload 预加载页面资源
Web 性能优化:Preload,Prefetch的使用及在 Chrome 中的优先级
今天,我们将深入研究Chrome 的网络栈,以明确 web 加载原语(如<link rel= preload > & <link rel= prefetch >) 背后的工作原理,以便你能够更有效地使用它们。
前端小智@大迁世界
2019/04/18
2.2K0
Web 性能优化:Preload,Prefetch的使用及在 Chrome 中的优先级
什么是 Preload、Prefetch 和 Preconnect?
今天我们将研究一下能显著提升页面性能的方法 —— 资源提示与指令。你也许听说过 preload,prefetch 和 preconnect,可是我们想研究的更深一点,搞清他们之间的区别并且充分的利用它们。它们带来的好处包括允许前端开发人员来优化资源的加载,减少往返路径并且在浏览页面时可以更快的加载到资源。
前端黑板报
2019/12/11
5.9K0
性能优化必知preload 和 prefetch
今天我们来探索一下前端资源的一些指令以及它们如何来提高网站性能的。你应该听过 preload 和 prefetch,但这次我们想深挖它们之间的不同以及如何受益于它们。它们允许开发者优化资源的传递时间、缩短往返次数等。
前端黑板报
2021/03/24
1.4K0
性能优化必知preload 和 prefetch
Resource Hints 知多少
在上篇文章 探究网页资源究竟是如何阻塞浏览器加载的 中介绍到 JS 会阻塞 DOM 的加载,样式会阻塞页面的渲染,外链样式里的自定义字体还会对文字造成闪动给用户带来不好的体验,诸如此类问题还有挺多,那到底该如何解决它们呢?
用户4456933
2021/06/01
1.2K0
Resource Hints 知多少
进阶 | 用 preload 预加载页面资源
前端爱好者的聚集地 本文主要介绍preload的使用,以及与prefetch的区别。然后会聊聊浏览器的加载优先级。 preload 提供了一种声明式的命令,让浏览器提前加载指定资源(加载后并不执行),在需要执行的时候再执行。提供的好处主要是 1. 将加载和执行分离开,可不阻塞渲染和 document 的 onload 事件 2. 提前加载指定资源,不再出现依赖的font字体隔了一段时间才刷出 如何使用 preload 使用 link 标签创建 使用 HTTP 响应头的 Link 字段创建 如我们常用到
用户1097444
2022/06/29
1.3K0
进阶 | 用 preload 预加载页面资源
Preload与Prefetch的区别以及webpack项目中如何优化
<link rel="preload" href="/path/to/style.css" as="style">
周陆军
2021/06/26
5.4K0
前端优化 之 preload
Preload的原理是在浏览器解析HTML文档时,提前加载页面所需的关键资源,如样式表、脚本文件和字体等。
Chester Chen
2024/03/25
1410
前端优化 之 preload
快速优化 Web 性能的10 个手段
优化网站的性能需要花费大量的时间,并且如果要根据自己的需求进行优化则花费的时间可能更多。
疯狂的技术宅
2020/09/01
1.9K0
快速优化 Web 性能的10 个手段
前端性能优化系列 | 加载优化
在浏览器发起网络请求时,并非每个字节都具有相同的优先级,所以,浏览器通常会对所要加载的内容进行推测,将相对重要的信息先呈现给用户。比如浏览器一般会先加载CSS,再去加载JavaScript脚本和图像文件。当然,浏览器的判断并不一定都是准确的,下面就来看看如何影响浏览器对资源加载的优先级。
用户6256742
2024/08/01
1260
前端性能优化系列 | 加载优化
前端性能优化总结
最近花了一些时间在项目的性能优化上,背后做了很多工作,但是最后依然没有达到自己想要的结果,有些失望,但是还是记录下自己的执着。
前端迷
2020/07/02
1.2K0
仅需 5 分钟,快速优化 Web 性能的10 个手段
作者:Marc 译者:前端小智 来源:dev 本人已经过原作者制授权翻译。 在这篇文章中,主要介绍10种快速提高网站性能的方法,你只需5分钟内就可以将它应用到你的网站上,废话不多说,让我们进入正题吧
前端小智@大迁世界
2020/10/28
7680
仅需 5 分钟,快速优化 Web 性能的10 个手段
前端性能优化总结
生产环境中,不需要打印日志。通过对webpack进行配置,打包时自动去掉console.log
前端进击者
2021/07/27
6260
从龟速 11s 到闪电 1s,详解前端性能优化之首屏加载
全文共6511字/词,阅读大概需要13分钟,太长不看党请直接移步👉「开始优化」部分直接查看优化手段 背景 前段时间公司服务器网络波动,网站访问变慢,一些性能问题也随之暴露了出来。纷纷反馈在这样的弱网条件下,访问新项目时,加载了近1分钟都没加载出来,而访问其他页面顶多也就30-40s。 在网络恢复后,尝试访问了下页面,无缓存首次打开需要等待近11s的时间,最大的资源达到了3.7M... 在对项目做了一些优化处理后,再次无缓存打开可以发现网页几乎是秒开,平均耗时在1s以内 在这里总结记录一下,基本上都是一些
@超人
2021/12/17
3.3K0
从龟速 11s 到闪电 1s,详解前端性能优化之首屏加载
“非主流”的纯前端性能优化
性能优化一直是前端研究的主要课题之一,因为不仅直接影响用户体验,对于商业性公司,网页性能的优劣更关乎流量变现效率的高低。例如 DoubleClick by Google 发现:
2020labs小助手
2020/09/23
5510
前端 Web 性能清单
考虑添加 preconnect 或 dns-prefetch 资源提示以建立与重要第三方来源的早期连接。
海拥
2023/05/23
1.1K0
前端 Web 性能清单
构建Vite知识体系-项目性能优化
传统的 HTTP 1.1 存在队头阻塞的问题,同一个 TCP 管道中同一时刻只能处理一个 HTTP 请求,也就是说如果当前请求没有处理完,其它的请求都处于阻塞状态,另外浏览器对于同一域名下的并发请求数量都有限制,比如 Chrome 中只允许 6 个请求并发(这个数量不允许用户配置),也就是说请求数量超过 6 个时,多出来的请求只能排队、等待发送。因此,在 HTTP 1.1 协议中,队头阻塞和请求排队问题很容易成为网络层的性能瓶颈。
泯泷、
2024/03/17
2490
[网页提速]preload的使用方法
前言:作为一名网站开发者,你可能已经听说过预加载(preload)了。预加载可以帮助我们在网页加载时提前加载一些资源,以提高网站的性能和用户体验。在这篇博客中,我将介绍preload的用法,并分享一些最佳实践。
堡主
2023/03/14
6980
prelink
现如今网络越来越快,网页应用也变得越来越受人们欢迎,与此同时,人们对应用响应速度的期望值也越来越高。 怎样提升网站的响应速度,怎样让用户更快的看到想要的内容已经变得越发重要了。 对此,除了开发者们绞尽脑汁优化应用外,浏览器产商们也提供了各种各样方式来帮助开发者预加载资源。
epoos
2022/10/28
5770
你不可能知道的骨架屏玩法!
作者曾所在我司广告事业部,广告承载方式是以刮刮卡、大转盘等活动页进行展示,然后用户参与出广告券弹层。
秋风的笔记
2021/08/27
1.9K0
你不可能知道的骨架屏玩法!
推荐阅读
相关推荐
用 preload 预加载页面资源
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文