将python文件导入json文件
我有一个python文件(将python文件导入json文件,python,json,Python,Json,我有一个python文件(abc.py),其中定义了所有常量。现在,我想在JSON文件中分配这些常量。一旦在JSON文件中分配了值,我希望能够将其转换为对象 例如: abc.py val1 = 10 val2 = 20 info.json import abc as C #which should be a *.py file { c1 = C.val1 #from python file c2 = C.val2 } 这可能吗?您的
abc.py
),其中定义了所有常量。现在,我想在JSON文件中分配这些常量。一旦在JSON文件中分配了值,我希望能够将其转换为对象
例如:
abc.py
val1 = 10
val2 = 20
info.json
import abc as C #which should be a *.py file
{
c1 = C.val1 #from python file
c2 = C.val2
}
这可能吗?您的json文件只是一个特殊格式的文本文件,您不能在那里进行导入,至少在简单的情况下是这样 您必须编写一个不同的函数/程序来从py文件中的常量创建json 词典的创建需要继续进行。你可以开始玩下面的代码
def py_constants_to_json(output_file_name='info.json'):
import abc as C
import json
const_dict = {
'c1' : C.val1, #from python file
'c2' : C.val2
}
with open(output_file_name,'w') as outf:
json.dump(const_dict,outf,indent=2)
首先,不要将文件命名为abc,因为abc是Python中的内置模块。让我们把它命名为my_python_constant.py
import my_python_constant
from operator import attrgetter
import json
variable_names = [s for s in dir(my_python_constant) if not s.startswith('__')]
my_dict = {variable_name: attrgetter(variable_name)(my_python_constant) for variable_name in variable_names}
print(json.dumps(my_dict))
然后得到一个json字符串:
{"val1": 10, "val2": 20}
您可以将其存储在任何位置或您喜欢的文件。您可以将所有值保存在
字典中
并将其转换为json