下面是Python常用配置文件ini、json、yaml读写总结的详细攻略。
1. 概述
在编写Python程序时,有时需要读取一些配置文件来获取程序执行需要的参数和数据。常见的配置文件格式有ini、json和yaml。在Python中,我们可以使用标准库或第三方库来读取和写入这些文件。本文将介绍如何使用Python标准库和第三方库来读写这三种常见的配置文件格式。
2. configparser模块读写ini文件
ini(即INI格式)文件是一种常见的配置文件格式,常用于Windows操作系统中。Python标准库中的configparser模块可以用来读取和写入ini文件。
2.1 读取ini文件
使用configparser模块读取ini文件的基本过程为:
-
创建一个ConfigParser对象。
-
调用ConfigParser对象的read()方法,读取ini文件内容。
-
使用ConfigParser对象的get()方法,获取ini文件中的数据。
例如,假设我们有一个名为test.ini的ini文件,内容如下:
[mysql]
host=127.0.0.1
port=3306
user=root
password=123456
我们可以使用以下代码读取该文件:
import configparser
config = configparser.ConfigParser()
config.read('test.ini')
host = config.get('mysql', 'host')
port = config.getint('mysql', 'port')
user = config.get('mysql', 'user')
password = config.get('mysql', 'password')
print('host:', host)
print('port:', port)
print('user:', user)
print('password:', password)
输出结果为:
host: 127.0.0.1
port: 3306
user: root
password: 123456
2.2 写入ini文件
使用configparser模块写入ini文件的基本过程为:
-
创建一个ConfigParser对象。
-
调用ConfigParser对象的set()方法,设置ini文件中的数据。
-
调用ConfigParser对象的write()方法,将数据写入到ini文件中。
例如,假设我们要将上面读取到的数据写入到一个新的test2.ini文件中,代码如下:
import configparser
config = configparser.ConfigParser()
config['mysql'] = {'host': '127.0.0.1', 'port': '3306', 'user': 'root', 'password': '123456'}
with open('test2.ini', 'w') as f:
config.write(f)
写入成功后,test2.ini文件内容如下:
[mysql]
host = 127.0.0.1
port = 3306
user = root
password = 123456
3. json模块读写json文件
json文件是一种轻量级的数据交换格式,被广泛应用于各种编程语言和平台之间的数据交互。在Python中,我们可以使用json模块来读取和写入json文件。
3.1 读取json文件
使用json模块读取json文件的基本过程为:
-
打开json文件,获取文件对象。
-
调用json.load()或json.loads()方法,将json格式的字符串或文件对象转换为Python中的数据类型。
例如,假设我们有一个名为test.json的json文件,内容如下:
{
"name": "John",
"age": 30,
"city": "New York"
}
我们可以使用以下代码读取该文件:
import json
with open('test.json', 'r') as f:
data = json.load(f)
name = data['name']
age = data['age']
city = data['city']
print('name:', name)
print('age:', age)
print('city:', city)
输出结果为:
name: John
age: 30
city: New York
3.2 写入json文件
使用json模块写入json文件的基本过程为:
-
创建一个Python对象,准备写入到json文件中。
-
调用json.dump()或json.dumps()方法,将Python对象转换为json格式的字符串或写入到文件中。
例如,假设我们要将上面读取到的数据写入到一个新的test2.json文件中,代码如下:
import json
data = {
"name": "John",
"age": 30,
"city": "New York"
}
with open('test2.json', 'w') as f:
json.dump(data, f)
写入成功后,test2.json文件内容如下:
{"name": "John", "age": 30, "city": "New York"}
4. pyyaml模块读写yaml文件
yaml文件也是一种常见的数据交换格式,与json类似,但更易读。
4.1 安装pyyaml模块
Python标准库中没有yaml模块,需要先安装第三方模块pyyaml。可以使用pip命令进行安装:
pip install pyyaml
4.2 读取yaml文件
使用pyyaml模块读取yaml文件的基本过程为:
-
打开yaml文件,获取文件对象。
-
调用yaml.load()或yaml.safe_load()方法,将yaml格式的字符串或文件对象转换为Python中的数据类型。
例如,假设我们有一个名为test.yaml的yaml文件,内容如下:
name: John
age: 30
city: New York
我们可以使用以下代码读取该文件:
import yaml
with open('test.yaml', 'r') as f:
data = yaml.safe_load(f)
name = data['name']
age = data['age']
city = data['city']
print('name:', name)
print('age:', age)
print('city:', city)
输出结果为:
name: John
age: 30
city: New York
4.3 写入yaml文件
使用pyyaml模块写入yaml文件的基本过程为:
-
创建一个Python对象,准备写入到yaml文件中。
-
调用yaml.dump()或yaml.safe_dump()方法,将Python对象转换为yaml格式的字符串或写入到文件中。
例如,假设我们要将上面读取到的数据写入到一个新的test2.yaml文件中,代码如下:
import yaml
data = {
"name": "John",
"age": 30,
"city": "New York"
}
with open('test2.yaml', 'w') as f:
yaml.safe_dump(data, f)
写入成功后,test2.yaml文件内容如下:
age: 30
city: New York
name: John
5. 总结
以上就是Python常用配置文件ini、json、yaml读写的攻略。无论是使用Python标准库还是第三方库,读写这些格式的配置文件都非常简单易懂。如果您在编写Python程序时需要读写这些格式的文件,希望这篇文章能为您提供帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python常用配置文件ini、json、yaml读写总结 - Python技术站