分析文本fi中的键值对

2024-09-27 07:22:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我是Python新手,我搜索如何解析一个.txt文件。 我的.txt文件是一个包含计算信息的名称列表,如:

myfile.txt

var0 = 16
var1 = 1.12434E10
var2 = -1.923E-3
var3 = 920

如何读取这些值并将它们放入python中的myvar0, myvar1, myvar2, myvar3中?


Tags: 文件txt名称信息列表myfile新手var1
3条回答

我个人通过创建一个.py文件来解决这个问题,该文件将所有参数都作为变量包含-然后:

include PARAMETERS.py

在需要参数的程序模块中。

有点难看,但很简单,很容易操作。

正如@kev所建议的,configparser模块是一条路要走。

不过,在某些情况下(我承认有点难看),但要做到这一点,非常简单有效的方法是将myfile.txt重命名为myfile.py,然后执行from myfile import *(在您修复了输入错误var 0->;var0

但是,这是非常不安全的,因此如果文件来自外部源或可由恶意攻击者写入,请使用验证数据的内容,而不是盲目执行。

我建议将值存储在字典中,而不是单独的局部变量中:

myvars = {}
with open("namelist.txt") as myfile:
    for line in myfile:
        name, var = line.partition("=")[::2]
        myvars[name.strip()] = float(var)

现在作为myvars["var1"]访问它们。如果这些名称都是有效的python变量名,可以将其放在下面:

names = type("Names", [object], myvars)

并访问值,例如names.var1

相关问题 更多 >

    热门问题