导航:首页 > 文件管理 > 使用python解析配置文件

使用python解析配置文件

发布时间:2023-11-14 06:27:17

『壹』 python如何使用sax提取xml配置文件内容

#vim info.xml
<info>
<intro>信息</intro>
<list id='001'>
<head>auto_userone</head>
<name>Jordy</name>
</list>
</info>
#vim infoxmlparser.py
#!/usr/bin/python
#coding=utf-8
#Python Version Python 2.6.5
from xml.sax.handler import ContentHandler
from xml.sax import parse
class HeadlineHandler(ContentHandler):
in_headline=False
def __init__ (self):
ContentHandler.__init__(self)
self.data=[]
self.file=open('info.txt','w')
self.file.writelines('id'+'\t'+'head\n')
self.file.close()
def startElement(self,name,attrs):
if name == 'list':
self.data.append(attrs['id'])
if name == 'head':
self.in_headline=True
def endElement(self,name):
if name == 'list':
self.file=open('info.txt','a')
self.file.writelines(self.data[0]+'\t'+self.data[1]+'\n')
self.file.close()
self.data=[]
if name == 'head':
self.in_headline=False
def characters(self,string):
if self.in_headline:
self.data.append(string)
if __name__=='__main__':
parse('info.xml',HeadlineHandler())

『贰』 python3 怎么读取mysql配置文件

记录一个读取my.cnf配置的脚本,可以基于该函数做一些mysql 后端运维工作。各位可以基于自己的需求进行修改。
脚本名称getcnf.py

『叁』 使用 Python 读写文件

有些数据是临时的,它们在应用程序运行时存储在内存中,然后丢弃。但是有些数据是持久的。它们存储在硬盘驱动器上供以后使用,而且它们通常是用户最关心的东西。对于程序员来说,编写代码读写文件是很常见的,但每种语言处理该任务的方式都不同。本文演示了如何使用 Python 处理文件数据。

在 Linux 上,你可能已经安装了 Python。如果没有,你可以通过发行版软件仓库安装它。例如,在 CentOS 或 RHEL 上:

在 macOS 上,你可以使用 MacPorts或Homebrew安装。在 Windows 上,你可以使用Chocolatey安装。

一旦安装了 Python,打开你最喜欢的文本编辑器,准备好写代码吧。

如果你需要向一个文件中写入数据,记住有三个步骤:

这与你在计算机上编码、编辑照片或执行其他操作时使用的步骤完全相同。首先,打开要编辑的文档,然后进行编辑,最后关闭文档。

在 Python 中,过程是这样的:

这个例子中,第一行以 模式打开了一个文件,然后用变量 f 表示,我使用了 f 是因为它在 Python 代码中很常见,使用其他任意有效变量名也能正常工作。

在打开文件时,有不同的模式:

第二行表示向文件中写入数据,本例写入的是纯文本,但你可以写入任意类型的数据。

最后一行关闭了文件。

对于快速的文件交互,常用有一种简短的方法可以写入数据。它不会使文件保持打开状态,所以你不必记得调用 close 函数。相反,它使用 with 语法:

如果你或你的用户需要通过应用程序需要向文件中写入一些数据,然后你需要使用它们,那么你就需要读取文件了。与写入类似,逻辑一样:

同样的,这个逻辑反映了你一开始使用计算机就已知的内容。阅读文档,你可以打开、阅读,然后关闭。在计算机术语中,“打开”文件意味着将其加载到内存中。

实际上,一个文本文件内容肯定不止一行。例如,你需要读取一个配置文件、 游戏 存档或乐队下一首歌曲的歌词,正如你打开一本实体书时,你不可能立刻读完整本书,代码也只能解析已经加载到内存中的文件。因此,你可能需要遍历文件的内容。

示例的第一行指明使用 模式打开一个文件,然后文件交由变量 f 表示,但就像你写数据一样,变量名是任意的。 f 并没有什么特殊的,它只是单词 “file” 的最简表示,所以 Python 程序员会经常使用它。

在第二行,我们使用了 line ,另一个任意变量名,用来表示 f 的每一行。这告诉 Python 逐行迭代文件的内容,并将每一行的内容打印到输出中(在本例中为终端或IDLE)。

就像写入一样,使用 with 语法是一种更简短的方法读取数据。即不需要调用 close 方法,方便地快速交互。

使用 Python 有很多方法向文件写入数据,包括用 jsON、YAML、TOML等不同的格式写入。还有一个非常好的内置方法用于创建和维护SQLite数据库,以及许多库来处理不同的文件格式,包括图像、音频和视频等。

via: https://opensource.com/article/21/7/read-write-files-python

作者:Seth Kenlon选题:lujun9972译者:MjSeven校对:turbokernel

『肆』 如何使用Python3读取配置文件

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

INI是英文“初始化(Initial)”的缩写。正如该术语所表示的,INI文件被用来对操作系统或特定程序初始化或进行参数设置。通过它,可以将经常需要改变的参数保存起来(而且还可读),使程序更加的灵活。

先给出一个ini文件的示例。

[School]
ip=10.15.40.123
mask=255.255.255.0
gateway=10.15.40.1
dns=211.82.96.1

[Match]
ip=172.17.29.120
mask=255.255.255.0
gateway=172.17.29.1
dns=0.0.0.0

这个配置文件中保存的是不同场合下的IP设置参数。

首先,Python读取ini配置需要用到ConfigParser包,所以要先加载它。

importconfigparser

之后我们需要载入配置文件。

config=configparser.ConfigParser()

#IpConfig.ini可以是一个不存在的文件,意味着准备新建配置文件。

config.read("IpConfig.ini")

接下来,我们可以使用configparser.add_section()向配置文件中添加一个Section。

#添加节School

config.add_section("School")

注意:如果文件中已经存在相应的项目,则不能再增加同名的节。

然后可以使用configparser.set()在节School中增加新的参数。

#添加新的IP地址参数

config.set("School","IP","192.168.1.120")
config.set("School","Mask","255.255.255.0")
config.set("School","Gateway","192.168.1.1")
config.set("School","DNS","211.82.96.1")

你可以以同样的方式增加其它几项。

#由于ini文件中可能有同名项,所以做了异常处理

try:
config.add_section("Match")
config.set("Match","IP","172.17.29.120")
config.set("Match","Mask","255.255.255.0")
config.set("Match","Gateway","172.17.29.1")
config.set("Match","DNS","0.0.0.0")
exceptconfigparser.DuplicateSectionError:
print("Section'Match'alreadyexists")

增加完所有需要的项目后,要记得使用configparser.write()进行写入操作。

config.write(open("IpConfig.ini","w"))

以上就是写入配置文件的过程。

接下来我们使用configparser.get()读取刚才写入配置文件中的参数。读取之前要记得读取ini文件。

ip=config.get("School","IP")
mask=config.get("School","mask")
gateway=config.get("School","Gateway")
dns=config.get("School","DNS")
print((ip,mask+" "+gateway,dns)

下面是一个完整的示例程序,它将生成一个IpConfig.ini的配置文件,再读取文件中的数据,输出到屏幕上。

#-*-coding:utf-8-*-importconfigparser#读取配置文件config=configparser.ConfigParser()config.read("IpConfig.ini")#写入宿舍配置文件try:config.add_section("School")config.set("School","IP","10.15.40.123")config.set("School","Mask","255.255.255.0")config.set("School","Gateway","10.15.40.1")config.set("School","DNS","211.82.96.1")exceptconfigparser.DuplicateSectionError:print("Section'School'alreadyexists")#写入比赛配置文件try:config.add_section("Match")config.set("Match","IP","172.17.29.120")config.set("Match","Mask","255.255.255.0")config.set("Match","Gateway","172.17.29.1")config.set("Match","DNS","0.0.0.0")exceptconfigparser.DuplicateSectionError:print("Section'Match'alreadyexists")#写入配置文件config.write(open("IpConfig.ini","w"))ip=config.get("School","IP")mask=config.get("School","mask")gateway=config.get("School","Gateway")dns=config.get("School","DNS")print((ip,mask+"
"+gateway,dns))

『伍』 python中四种配置文件

常用的配置文件后缀是.ini、.conf、.py,当然还有使用.json、.txt的,推荐使用常用的.ini、.py,配置文件的名字一般是config便于理解和使用。

ini配置文件,这类配置文件我们使用内置configparser库来使用,它可以实现配置文件的写入、更新、删除、读取等操作非常方便,建议使用这种方式。
新建一个config.ini的配置文件内容如下,编码格式要是 utf-8 以免出错。:

其中[]中的是section节点,该节点下的等式是option即键=值
然后每一行写一个option ,每个选项就是一个option。直接写名字,后面加 " = " 再加上它的值就行,字符串的表示不要加引号,否则引号也会被解析出来。
可以在配置文件中加入注释 ,但是注释必须是单独的一行,且以 “#” 开头。只是每次运行时不会读入注释,只要运行一次,写入文件后,所有的注释都会消失。

config.json文件

使用python内置的 json 标准库进行解析ini文件。
load() 从json文件中读取json格式数据
loads() 将字符串类型数据转化为json格式数据
mp() 将json格式数据保存到文件
mps() 将json格式数据保存为字符串类型

TOML的语法广泛地由key = "value"、[节名]、#注释构成。
支持以下数据类型:字符串、整形、浮点型、布尔型、日期时间、数组和图表。
config.toml文件

使用外部库 toml 解析toml文件。

安装:pip install toml
读取文件

安装:

YAML是目前最推荐的配置文件格式。优秀的配置文件标准它几乎都有:

容易阅读和修改,支持注释。

支持丰富的数据类型。

不同格式的明确表达。

yaml使用时需要注意:

yaml强制缩进。虽然不规定具体缩进几个空格,但是同一级的内容要保持相同的缩进。

冒号后面一定要加空格, 否则无法解析。

python解析 yaml 可以使用pyyaml库,操作和标准的文件操作非常类似:

得到的data就是解析后的数据,在python当中,它是一个嵌套的字典:

想获取某一项配置,再通过字典的操作获取:
config.yaml文件

读取

『陆』 python 如何读取复杂文件 比如我有个配置文件, 格式为 “#文本内容 配置参数“ 这样的格式 该怎么读取

f=open("config.ini")
for line in f:
if line[0]=="#":
continue
elif line[0]==";":
continue
else:
print line

忽略掉#和;开头的行就可以得配置参数了。

『柒』 python 怎么读取配置文件

python 读取配置文件方法

#coding=utf8

import ConfigParser

config = ConfigParser.ConfigParser()
config.readfp(open(raw_input("input file name:"), "rb"))
print config.get("global", "ip")


config.ini
[global]
ip = 192.168.1.100 ;ip地址
port = 3306

阅读全文

与使用python解析配置文件相关的资料

热点内容
win7和xp共享文件 浏览:883
苹果4代音量键没反应 浏览:827
怎样打开tif文件 浏览:153
java下载文件zip 浏览:440
qq浏览器压缩文件怎么设密码 浏览:526
黄埔数控编程哪里好 浏览:406
mac109升级1010 浏览:691
在java的菜单如何导入文件 浏览:982
现在什么网站销量最高 浏览:760
angularjsclass定义 浏览:157
ug数控编程怎么导出程序 浏览:466
cmdb文件 浏览:710
鹎文件夹 浏览:763
网络舆情应对的基本理念是什么 浏览:433
word2007层次结构 浏览:456
去掉文件名的数字 浏览:713
word公司 浏览:710
淘宝店数据包怎么上传 浏览:341
pbt文件 浏览:204
HX基础编程怎么改变字体 浏览:876

友情链接