Python中字典的巨大设置文件

Python中字典的巨大设置文件,python,file,dictionary,settings,Python,File,Dictionary,Settings,我有一个大的.SET文件,它提供了来自第三方软件的边界和解算器设置。该文件根据模拟时给定的设置更改其大小和参数位置。它有100个参数 典型的设置文件如下所示: (rp ( (wall-film/model-parameters ((solve-wallfilm? . #t) (solve-momentum? . #f) (solve-energy? . #t) (solve-scalar? . #f) (solve-vapor? . 2) (dpm- collection? . #f) (mo

我有一个大的.SET文件,它提供了来自第三方软件的边界和解算器设置。该文件根据模拟时给定的设置更改其大小和参数位置。它有100个参数

典型的设置文件如下所示:

(rp (
(wall-film/model-parameters ((solve-wallfilm? . #t) (solve-momentum? . #f) 
(solve-energy? . #t) (solve-scalar? . #f) (solve-vapor? . 2) (dpm-
collection? . #f) (mom-gravity? . #t) (mom-aero-drive? . #t) (mom-wall-visc? 
. #t) (mom-pressure? . #f) (mom-spreading? . #f) (ewf-adaptive? . #f) (time-
scheme . 0) (mass-scheme . 0) (mom-scheme . 0) (energy-scheme . 0) (scalar-
scheme . 0) (reconstruct-limiter . 0) (thickness-limit . 1e-05) (thickness-
realistic . 0.) (courant-number . 0.2) (adapt-init-dt . 0.0001) (timestep-
max . 0.01) (sub-time-steps . 10) (sub-iter-nums . 10)) 
我想创建一个函数来读取文件,并为所有参数创建一个如下所示的字典:

 A = {'solve-wallfilm':'t','solve momentum':'t','solve-energy':'t'}
这将有助于我将来比较两个不同的设置文件

有人可以建议我如何在python中执行此操作,或者我应该使用什么库以有序的格式放置设置文件

提前谢谢

def settingtodict(filepath):
    d = {}
    with open(filepath,'r') as f:
        for line in f:
            a = line.split("(")
            for each in a:
                print(each)
                if '.' in each:
                    d[each.split('.')[0]]=each.split('.')[1][1:-2]
    return d

只要所有内容都在一行上就可以工作

只需打开文件,阅读它并按开括号拆分,然后通过按点拆分每个文件并使dict[split[0]]=split[1][:-1]来附加词典。我的问题是,设置文件的格式会随着示例的变化而变化,我也希望它们出现在词典中:(物种/伪周期类型(3.3))(物种/伪时间尺度因子(1.1.)(物种/伪隐式松弛(1.1.))(物种/伪特异性)(物种/伪松弛(0.75 0.75))(dpm/源每次流迭代?#t)(dpm/非定常跟踪?#t)(amg/保守amg粗化?#t)(pdf/dynamic fvar?#f)(omega/RELAX0.69999988079071)(k/relax 0.69999988079071)(turb粘度/relax 0.899999761581421)那么,你最好使用它,但是在每行中加载if char,根据当前正在处理的内容来改变它的添加方式,这是一个非常复杂的设置文件。你只需查看隔离每种不同类型的条目并设置逻辑来处理它