gpt4 book ai didi

Python 为属性文件中的特定键设置值

转载 作者:行者123 更新时间:2023-12-01 02:05:25 24 4
gpt4 key购买 nike

我们有一个由键值对组成的示例 .cfg 文件。根据用户输入,我们需要更新该值。我正在考虑使用 configParser 更新值,但文件没有任何部分(例如 [我的部分])。根据文档,它需要设置三个值 - 部分、键和值。不幸的是,我将无法添加任何部分标记,因为该文件已被其他任务使用。

我们可以根据键设置值的另一种方法是什么?

文件示例

some.status_file_mode    =  1    # Some comment
some.example_time = 7200 # Some comment

按照要求,线路没有变化。空格和注释需要与原样相同。

最佳答案

使用NamedTemporaryFile从 tempfile 模块构建一个简单的解析器来更新如下所示的文件并不难:

代码:

def replace_key(filename, key, value):
with open(filename, 'rU') as f_in, tempfile.NamedTemporaryFile(
'w', dir=os.path.dirname(filename), delete=False) as f_out:
for line in f_in.readlines():
if line.startswith(key):
line = '='.join((line.split('=')[0], ' {}'.format(value)))
f_out.write(line)

# remove old version
os.unlink(filename)

# rename new version
os.rename(f_out.name, filename)

测试代码:

import os
import tempfile
replace_key('file1', 'some.example_time', 3)

结果:

some.status_file_mode    = 1
some.example_time = 3

关于Python 为属性文件中的特定键设置值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49122952/

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