我是靠谱客的博主 美好眼睛,最近开发中收集的这篇文章主要介绍python读写ini格式的配置文件,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

欢迎关注”生信修炼手册”!

生信工程师的日常工作中,除了进行脚本编程,处理文件读写,画图,统计等常规操作,还会涉及到编写一整套完整的pipeline,此时就需要一个标准的配置文件,来保存需要的参数设置。业界常用的标准化的配置文件格式有以下几种

  1. ini

  2. json

  3. xml

  4. yaml

ini作为windows上配置文件的标准格式,更加易于没有编程基础的人来编写和修改,后三种格式则对于程序而言更加友好,处理更加方便。一个ini文件的示例如下

[DEFAULT]
threads = 5
[SAMPLE]
suffix = fastq.gz


[MAPPING]
method    = bowtie2
threads   = 10
filter    = false
mapq      = 20
map_ratio = 0.8

每一个中括号和其相关配置称为p, 中括号内的名字则为p的标识符,区分大小写。上述示例中,3大块内容对应3个p。在p下面,以key = value的形式定义了很多的参数,key是不区分大小写的,而且这一行多余的空格也会被忽略掉。

在python3中,通过内置模块configparser来读取ini文件,用法如下

>>> import configparser
>>> config = configparser.ConfigParser()
>>> config.read('config.ini')
['config.ini']

读取成功后,所有的内容存储在config这个对象中,可以用类似字典的操作来访问数据

# ps方法返回所有p的名字
>>> config.ps()
['SAMPLE', 'TRIM', 'MAPPING']
>>> config['SAMPLE']
<Section: SAMPLE>
# 用字典的操作来访问数据
>>> config['SAMPLE']['SUFFIX']
'fastq.gz'
>>> config['SAMPLE']['threads']
'5'
>>> config['MAPPING']['threads']
'10'

DEFAULT这个p有其特殊作用,定义了默认参数以及对应的值,所以上述代码中,在MAPPING这个p中也可以访问到threads的值。

读取的内容无论是什么类型,都用字符串来存储,所以对于数字,逻辑值需要我们自己来转换,写法如下

# 默认字符串
>>> config['MAPPING']['threads']
'10'
#  自己用int函数来转换
>>> int(config['MAPPING']['threads'])
10
# 用模块提供的getint方法来转换
>>> config['MAPPING'].getint('threads')
10

当然,也可以通过程序来生成ini文件,用法如下

>>> import configparser
>>> config = configparser.ConfigParser()
>>> config['DEFAULT'] = {'threads':5}
>>> config['SAMPLE'] = {'suffix': 'fastq.gz'}
>>> config['MAPPING'] = {}
>>> config['MAPPING']['method'] = 'bowtie2'
>>> config['MAPPING']['threads'] = '10'
>>> config['MAPPING']['filter'] = 'false'
>>> config['MAPPING']['mapq'] = '20'
>>> config['MAPPING']['map_ratio'] = '0.8'
>>>
>>> with open('config.ini', 'w') as f:
...     config.write(f)
...
>>>

ini定义了配置文件的标准格式,通过configparser模块可以快速便捷的处理ini文件。

·end·

—如果喜欢,快分享给你的朋友们吧—

原创不易,欢迎收藏,点赞,转发!生信知识浩瀚如海,在生信学习的道路上,让我们一起并肩作战!

本公众号深耕耘生信领域多年,具有丰富的数据分析经验,致力于提供真正有价值的数据分析服务,擅长个性化分析,欢迎有需要的老师和同学前来咨询。

  更多精彩

  • KEGG数据库,除了pathway你还知道哪些

  • 全网最完整的circos中文教程

  • DNA甲基化数据分析专题

  • 突变检测数据分析专题

  • mRNA数据分析专题

  • lncRNA数据分析专题

  • circRNA数据分析专题

  • miRNA数据分析专题

  • 单细胞转录组数据分析专题

  • chip_seq数据分析专题

  • Hi-C数据分析专题

  • HLA数据分析专题

  • TCGA肿瘤数据分析专题

  • 基因组组装数据分析专题

  • CNV数据分析专题

  • GWAS数据分析专题

  • 2018年推文合集

  • 2019年推文合集

  写在最后

转发本文至朋友圈,后台私信截图即可加入生信交流群,和小伙伴一起学习交流。

扫描下方二维码,关注我们,解锁更多精彩内容!

一个只分享干货的

生信公众号

最后

以上就是美好眼睛为你收集整理的python读写ini格式的配置文件的全部内容,希望文章能够帮你解决python读写ini格式的配置文件所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部