专栏首页生信了(转载)Python的configparser模块

(转载)Python的configparser模块

本文介绍了Python中的configparser模块。

做生信的同学在使用类Unix系统的时候,经常会接触配置文件(config)。就笔者自己的经验而言,配置文件的常见格式有如下几种:

最朴素

最朴素的配置文件每一行都是“<参数名>=<参数值>”的格式。等号两边可以有空格,比如:

1 name = 生信了
2 begin_date =2018-09
3 admin=hxj7
4 focus=bioinfo
5 author= hxj7,黄xiao仙,yongzhe
6 main_topic = Sequence_Alignment,Algorithm,R,Data_Analysis
加一些注释

为了让config更具可读性,可以加一些注释。一般注释行的第一个字符是#,这个最常见。比如:

 1 # 公众号名称
 2 name = 生信了
 3 
 4 # 创建日期
 5 begin_date =2018-09
 6 
 7 # 创建者
 8 admin=hxj7
 9 
10 # 专注的领域
11 focus=bioinfo
12 
13 # 作者
14 author= hxj7,黄xiao仙,yongzhe
15 
16 # 主要话题
17 main_topic = Sequence_Alignment,Algorithm,R,Data_Analysis
将参数分组

有时候一个config文件里的参数很多,为了方便管理,会将参数分组。组名用英文的中括号括起来,比如我们将上面的参数分成两组:basic组和detail组。

 1 [basic]
 2 # 公众号名称
 3 name = 生信了
 4
 5 # 创建日期
 6 begin_date =2018-09
 7
 8 # 创建者
 9 admin=hxj7
10
11 [detail]
12 # 专注的领域
13 focus=bioinfo
14  
15 # 作者
16 author= hxj7,黄xiao仙,yongzhe
17 
18 # 主要话题
19 main_topic = Sequence_Alignment,Algorithm,R,Data_Analysis

程序运行之初会导入config文件内容,从而获取其中各个参数的值。这个功能实现起来很简单。Python自带的configparser模块就可以解析配置文件,该模块的具体用法可以点击 阅读原文 查看网络教程。使用Python自带模块的好处是方便和别人交流,也有利于代码的维护。

就笔者自己的经验而言,configparser模块比较适用于配置文件“参数分组”的情况,如果参数没有分组是不适用该模块的。

本文分享自微信公众号 - 生信了(gh_ed36a29a9a9d),作者:hxj7

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-10-17

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 算法(四)(转载)KMP算法

    字符串匹配是一个既古老又现代的问题,历久弥新。生信领域中字符串处理更是daily work。诸如bwa这般神一样的软件,本质上也是在解决字符串非精准匹配的问题。...

    一只羊
  • 生信(11)htslib处理bam或sam文件的简单示例

    (本文写于2020年初,随着将来htslib和samtools库的更新,本文部分内容可能会不适用,请读者注意官网的更新动态。)

    一只羊
  • 生信(一)对BED文件进行排序

    在处理NGS数据时,经常要对BED文件进行排序。假设BED文件长这样,分隔符是’\t’:

    一只羊
  • 懒猿福利:自动安装 Windows 10 开发环境

    程序员最讨厌的事情之一可能就是装电脑了。因为程序员的电脑环境配置和正常人的很不一样。通常,人工安装一台新开发机得花上几个小时。得让这个过程自动化,毕竟编程的精髓...

    Edi Wang
  • 《自然语言处理实战入门》 文本检索---- 初探

    信息检索定义为对用户做出的查询进行响应并检索出最合适的信息的过程。在信息检索中,根据元数据或基于上下文的索引,进行搜索。搜索引擎 是信息检索的一个示例,对于每个...

    流川疯
  • 如何在Linux中将文本内容追加到文件末尾?

    在Linux中处理配置文件时,有时您需要将诸如配置参数之类的文本附加到现有文件中。追加只是意味着将文本添加到文件的末尾。

    用户6543014
  • 文件高级应用

    假设我们需要在文件内容中间的某一行增加内容,如果使用基础的r/w/a模式实现是非常困难的,因此我们需要对文件内的指针进行移动。

    py3study
  • 【Java】基础05:JDK安装与环境变量的配置

    2.选择开发工具,因为开发工具中以及包含有JRE,所以公关JRE中选择此功能将不可用。同时也可以自定义安装目录,但不要有中文和空格。

    刘小爱
  • 干货十足!张小龙公开课现场玩「跳一跳」,曾拿过 6000 多分

    2017 年 1 月 15 日,微信公开课 PRO 版如约在广州保利世贸博览馆举行。

    知晓君
  • 为什么我喜欢JavaScript的Optional Chaining[每日前端夜话0xB0]

    JavaScript 的特性极大地改变了你的编码方式。从 ES2015 开始,对我代码影响最多的功能是解构、箭头函数、类和模块系统。

    疯狂的技术宅

扫码关注云+社区

领取腾讯云代金券