python - 从中读取并提取信息以与代码中的其他变量一起使用?
问题描述
我有一个需要大量变量配置的代码。我们希望打开以json
从对话框中选择一个文件,该文件包含所有配置的变量名称,然后一旦您单击'start'
该程序将运行并利用文件中的配置,而不是用户.py
每次将它们硬编码到文件中.
为清楚起见,我要打开的文件命名为test.json
& 在其中,有 5 个不同的字典包含相应的变量。
我需要json
加载的是输入块并加载与此相关的文件。
我知道我可以只选择实际文件,但我们正在尝试查看是否可以加载执行此操作的配置文件。
样本test.json
{
"input":["test.dat"],
"preprocessing": {
"a": "svdrecon",
"b": -110,
"b": -90,
"d": 256,
"e": 4,
"e": 512
}
"input":["test.dat"]
我的open_file
方法如下
def open_file(self):
self.filename, dummy = QFileDialog.getOpenFileName (self, "Open file", "", "I/Q Files (*.bin *.dat *.ltd *.json *.wrp);;Everything (*)")
self.statusbar.showMessage("Current File Selected: " + self.filename)
self.strtbtn.setEnabled(True)
self.cnclbtn.setEnabled(True)
#load json
with open(filename) as filename:
config = json.load(filename)
#parse data
#extract input filename
filename = (config['input'])```
解决方案
"input":["test.dat"]
这个 JSON 名称-值对的值是一个包含一个字符串元素的数组,它作为一个字符串的列表加载。如果您只想从 中获取字符串config['input']
,您可以使用 放入"input": "test.dat"
或test.json
从列表中提取(第一个)字符串config['input'][0]
。
推荐阅读
- html - 无法读取未定义角度 5 的属性“形式”
- uwp - WebView 作为 GridView 中的项目正在接管 UWP 中的 ItemClick 事件
- php - 如何检查文件名是否重复
- regex - 如何使用 Python 获取包含某种“href”格式的所有“a”标签?
- r - 如何使ggplot图例水平添加对象(与垂直)
- python - 熊猫获取月底的数据?
- java - java 未被识别为内部或外部命令,变量已设置
- scala - scala中的不可变可组合构建器
- android - 防止系统字体覆盖应用程序字体系列
- java - 使用来自不同 Iterator / Iterable 的值创建一个 Iterable