【发布时间】:2020-10-28 19:46:43
【问题描述】:
我有一个文本文件,params.txt,格式如下(忽略颜色格式,这是一个纯文本文件,不是 python 代码):
Lx = 512 Ly = 512
g = 400
================ Dissipation =====================
nupower = 8 nu = 0
alphapower = -0 alpha = 0
================ Timestepping =========================
SOMEFLAG = 1
SOMEOTHERFLAG = 4
dt = 2e-05
[...and so on]
即变量由它们的值通过= 分隔,值是整数、浮点数和科学记数法的混合,有时一行中有两个变量/值对,由一个空格分隔,并且有表格的标题
================ HeadingToBeDiscarded ================
在 python 中,我如何读取文本文件,并在我的 python 脚本中自动创建相同的变量并为它们分配与文件中相同的值?
文件的格式每次都是相同的,所以暴力破解是可能的,但我确信有一个优雅的 python/正则表达式解决方案(但我是 python 新手,几乎没有正则表达式!)
【问题讨论】:
-
{k:v for k,v in re.findall(r"(\w+)\s*=(?!==)\s*([\S]+)", file_content)} -
Wiktor,我该如何开始解析它以了解它应该如何工作?!
标签: python string file-management