gpt4 book ai didi

Python:你将如何保存一个简单的设置/配置文件?

转载 作者:IT老高 更新时间:2023-10-28 12:43:11 26 4
gpt4 key购买 nike

我不在乎它是 JSONpickleYAML 还是其他。

我见过的所有其他实现都不向前兼容,所以如果我有一个配置文件,在代码中添加一个新键,然后加载该配置文件,它就会崩溃。

有什么简单的方法吗?

最佳答案

python中的配置文件

根据所需的文件格式,有几种方法可以做到这一点。

ConfigParser [.ini 格式]

我会使用标准 configparser除非有令人信服的理由使用不同的格式。

像这样写一个文件:

# python 2.x
# from ConfigParser import SafeConfigParser
# config = SafeConfigParser()

# python 3.x
from configparser import ConfigParser
config = ConfigParser()

config.read('config.ini')
config.add_section('main')
config.set('main', 'key1', 'value1')
config.set('main', 'key2', 'value2')
config.set('main', 'key3', 'value3')

with open('config.ini', 'w') as f:
config.write(f)

文件格式非常简单,部分用方括号标出:

[main]
key1 = value1
key2 = value2
key3 = value3

可以像这样从文件中提取值:

# python 2.x
# from ConfigParser import SafeConfigParser
# config = SafeConfigParser()

# python 3.x
from configparser import ConfigParser
config = ConfigParser()

config.read('config.ini')

print(config.get('main', 'key1')) # -> "value1"
print(config.get('main', 'key2')) # -> "value2"
print(config.get('main', 'key3')) # -> "value3"

# getfloat() raises an exception if the value is not a float
a_float = config.getfloat('main', 'a_float')

# getint() and getboolean() also do this for their respective types
an_int = config.getint('main', 'an_int')

JSON [.json 格式]

JSON 数据可能非常复杂,并且具有高度可移植性的优势。

将数据写入文件:

import json

config = {"key1": "value1", "key2": "value2"}

with open('config1.json', 'w') as f:
json.dump(config, f)

从文件中读取数据:

import json

with open('config.json', 'r') as f:
config = json.load(f)

#edit the data
config['key3'] = 'value3'

#write it back to the file
with open('config.json', 'w') as f:
json.dump(config, f)

YAML

提供了一个基本的 YAML 示例 in this answer .更多详情请访问 the pyYAML website .

关于Python:你将如何保存一个简单的设置/配置文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19078170/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com