2024-09-27 07:22:46 发布
网友
我是Python新手,我搜索如何解析一个.txt文件。 我的.txt文件是一个包含计算信息的名称列表,如:
myfile.txt
var0 = 16 var1 = 1.12434E10 var2 = -1.923E-3 var3 = 920
如何读取这些值并将它们放入python中的myvar0, myvar1, myvar2, myvar3中?
myvar0, myvar1, myvar2, myvar3
我个人通过创建一个.py文件来解决这个问题,该文件将所有参数都作为变量包含-然后:
include PARAMETERS.py
在需要参数的程序模块中。
有点难看,但很简单,很容易操作。
正如@kev所建议的,configparser模块是一条路要走。
不过,在某些情况下(我承认有点难看),但要做到这一点,非常简单有效的方法是将myfile.txt重命名为myfile.py,然后执行from myfile import *(在您修复了输入错误var 0->;var0)
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变量名,可以将其放在下面:
myvars["var1"]
names = type("Names", [object], myvars)
并访问值,例如names.var1。
names.var1
我个人通过创建一个.py文件来解决这个问题,该文件将所有参数都作为变量包含-然后:
在需要参数的程序模块中。
有点难看,但很简单,很容易操作。
正如@kev所建议的,configparser模块是一条路要走。
不过,在某些情况下(我承认有点难看),但要做到这一点,非常简单有效的方法是将
myfile.txt
重命名为myfile.py
,然后执行from myfile import *
(在您修复了输入错误var 0
->;var0
)但是,这是非常不安全的,因此如果文件来自外部源或可由恶意攻击者写入,请使用验证数据的内容,而不是盲目执行。
我建议将值存储在字典中,而不是单独的局部变量中:
现在作为
myvars["var1"]
访问它们。如果这些名称都是有效的python变量名,可以将其放在下面:并访问值,例如
names.var1
。相关问题 更多 >
编程相关推荐