我正在尝试从看起来像这样的conan.txt文件中提取BINPATH,LIBPATH,CPPPATH:
conan = {
"conan" : {
"CPPPATH" : ['something'],
"BINPATH" : ['something'],
"LIBS" : ['something'],
"CPPDEFINES" : [],
"CXXFLAGS" : [],
"CCFLAGS" : [],
"SHLINKFLAGS" : [],
"LINKFLAGS" : [],
},
"conan_version" : "None",
"boost" : {
"CPPPATH" : ['C:\\.conan\\123456\\1\\include'],
"LIBPATH" : ['C:\\.conan\\123456\\1\\lib'],
"BINPATH" : ['C:\\.conan\\123456\\1\\lib'],
"LIBS" : [],
"CPPDEFINES" : [],
"CXXFLAGS" : [],
"CCFLAGS" : [],
"SHLINKFLAGS" : [],
"LINKFLAGS" : [],
},
"boost_version" : "1.69.0"
}
我有一个scons / python文件,它需要CPPPATH,BINPATH,LIBPATH值作为变量。我该如何实现?
谢谢
您可以使用以下代码。请注意,exec是不安全的,因为它运行file.txt
data = {}
with open("file.txt", "r", encoding="utf-8") as f:
exec(f.read(), data)
print(data['conan']['conan']['BINPATH'])
print(data['conan']['boost']['LIBPATH'])
print(data['conan']['conan']['CPPPATH'])