读取文件并提取数据并从python文件分配给变量

问题描述 投票:1回答:1

我正在尝试从看起来像这样的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值作为变量。我该如何实现?

谢谢

python scons
1个回答
0
投票

您可以使用以下代码。请注意,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'])
© www.soinside.com 2019 - 2024. All rights reserved.