gpt4 book ai didi

python - 从txt读取参数

转载 作者:太空宇宙 更新时间:2023-11-03 10:54:59 25 4
gpt4 key购买 nike

我有一个包含一些参数的 txt 文件。 txt 文件如下所示:

par1 = 10.81
par2 = 0.3
par3 = 0.5

我想用 python 读取它并自动创建 txt 中指定的所有变量。

读取配置文件并创建其中列出的参数的最佳文件是什么?

特别说我有一个类我怎样才能拥有以下内容?

class MyClass:
def __init__(self)
self.par1 = par1
self.par2 = par2
self.par3 = par3

最佳答案

前面有危险代码

你可以使用 exec .考虑文件 foo.txt:

a = 1
b = 2
c = 3

和代码:

with open('foo.txt') as f:
for line in f:
exec(line)
print(a)
# 1
print(b)
# 2
print(c)
# 3

但是,正如标题所说,这是一种危险的方法,因为 foo.txt 可以很容易地修改为包含

import os
os.remove('C:\system\a_very_important_system_file')

exec 会愉快地执行它。

安全方法

foo.txt改为JSON格式:

{"a": 1,
"b": 2,
"c": 3}

并使用 json 模块将其加载到您的代码中:

import json

with open('foo.txt') as f:
variables = json.load(f)

print(variables["a"])
# 1

编辑

如果您需要从未知的 JSON 文件动态启动实例属性,您可以使用 setattr :

import json

class MyClass:
def __init__(self):
with open('foo.txt') as f:
variables = json.load(f)
for key, value in variables.items():
setattr(self, key, value)

关于python - 从txt读取参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42644025/

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