Python 以字典格式编写和读取测试文件

Python 以字典格式编写和读取测试文件,python,dictionary,text-files,Python,Dictionary,Text Files,这个问题以前可能被问过,但我没有得到任何相关的结果 我正在制作一个配置文件(文本文件)。此文件类似于字典,因此用户可以轻松修改数据。现在我只想获取所需的键,或者在某些情况下以系统的方式附加新的键和值 我的文本文件如下所示 MODULES={ button:C:\Users\Dell\Desktop\hello.py, app1:C:\Users\Dell\Desktop\smarty.py, } USER={ user1=password, user2=pass

这个问题以前可能被问过,但我没有得到任何相关的结果


我正在制作一个配置文件(文本文件)。此文件类似于字典,因此用户可以轻松修改数据。现在我只想获取所需的键,或者在某些情况下以系统的方式附加新的键和值

我的文本文件如下所示

MODULES={
    button:C:\Users\Dell\Desktop\hello.py,
    app1:C:\Users\Dell\Desktop\smarty.py,
}

USER={
    user1=password,
    user2=password,
    user1=password, 
}
我想使用Python读取此文件,并在查询时返回键:

例如:

>> MODULES["button"]
C:\Users\Dell\Desktop\hello.py

解决您面临的问题最方便的方法是更改配置文件的格式。如注释部分所述,
JSON
在Python中是开箱即用的

因此,您可以使用这样的
config.json

{    
  "MODULES": {
           "button": "C:\Users\Dell\Desktop\hello.py",
           "app1": "C:\Users\Dell\Desktop\smarty.py",
          }

  "USER" = {
            "user1" = password,
            "user2" = password,
       }
}
您可以使用
json
模块来操作文件

import json

with open('config.json', 'r') as config_file:    
    data = json.load(config_file)

print(data["MODULES"]["button"])
# make some changes to `data`

with open('config.json', 'w') as config_file:    
    json.dump(data, config_file)

“我正在制作一个配置文件”,为什么不使用json?或者:为什么不使用
yaml
?或任何其他现有格式?@hiro,因为在-box@PeterWood:哦,我明白了。别忘了yaml不是。。。我的错!您可以使用ConfigParser模块使用标准INI文件格式