我是Python的新手,我搜索如何解析.txt文件.我的.txt文件是一个名单,其计算信息如下:
myfile.txt文件
var0 = 16
var1 = 1.12434E10
var2 = -1.923E-3
var3 = 920
如何读取值并将它们myvar0, myvar1, myvar2, myvar3放在python中?
Lau*_*low 52
我建议将值存储在字典中而不是存储在单独的局部变量中:
myvars = {}
with open("namelist.txt") as myfile:
for line in myfile:
name, var = line.partition("=")[::2]
myvars[name.strip()] = float(var)
Run Code Online (Sandbox Code Playgroud)
现在访问它们myvars["var1"].如果名称都是有效的python变量名,可以将其放在下面:
names = type("Names", [object], myvars)
Run Code Online (Sandbox Code Playgroud)
并访问值,例如names.var1.
小智 5
我个人通过创建一个.py文件解决了这个问题,该文件只包含所有参数作为变量-然后执行了以下操作:
include PARAMETERS.py
Run Code Online (Sandbox Code Playgroud)
在需要参数的程序模块中。
这有点丑陋,但是非常简单易用。
字典推导 ( PEP 274 ) 可用于更短的表达式(60 个字符):
d = {k:float(v) for k, v in (l.split('=') for l in open(f))}
Run Code Online (Sandbox Code Playgroud)
编辑:由于@jmb 建议(避免.readlines()),从 72 个字符缩短到 60 个字符。