gpt4 book ai didi

python - 在 Python 中从文件加载参数

转载 作者:太空狗 更新时间:2023-10-29 17:37:06 25 4
gpt4 key购买 nike

我正在编写一个 Python 类来模拟一个过程,我想从一个文件中初始化参数,比如 'input.dat'。输入文件的格式如下所示。

'input.dat' 文件:

Z0: 0 0
k: 0.1
g: 1
Delta: 20
t_end: 300

我写的代码如下。它有效,但显得多余且不灵活。有没有更好的方法来完成这项工作?比如循环做readline()然后匹配关键字?

def load(self,filename="input.dat"):
FILE = open(filename)
s = FILE.readline().split()
if len(s) is 3:
self.z0 = [float(s[1]),float(s[2])] # initial state
s = FILE.readline().split()
if len(s) is 2:
self.k = float(s[1]) # kappa
s = FILE.readline().split()
if len(s) is 2:
self.g = float(s[1])
s = FILE.readline().split()
if len(s) is 2:
self.D = float(s[1]) # Delta
s = FILE.readline().split()
if len(s) is 2:
self.T = float(s[1]) # end time

最佳答案

假设参数来自安全的地方(由您或用户制作,而不是互联网),只需将参数文件制作为 Python 文件,params.py:

Z0 = (0, 0)
k = 0.1
g = 1
Delta = 20
t_end = 300

然后在您的代码中,您只需要:

import params
fancy_calculation(10, k=params.k, delta=params.Delta)

这样做的优点有两方面:1) 简单,2) 您可以在参数描述中使用 Python 的强大功能——在这里特别有用,例如:

k = 0.1
Delta = 20
g = 3 * k + Delta

或者,您可以使用 Python 的内置 JSONConfigParser .INI parser模块。

关于python - 在 Python 中从文件加载参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8525765/

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