【问题标题】:How to extract variable name and value from string in python如何从python中的字符串中提取变量名和值
【发布时间】:2016-02-02 03:36:04
【问题描述】:

我有一个字符串

data = "var1 = {'id': '12345', 'name': 'John White'}"

在 python 中有什么方法可以将 var1 提取为 python 变量。更具体地说,我对字典变量感兴趣,这样我就可以获得 vars 的值:id 和 name.python

【问题讨论】:

  • 虽然不鼓励在 Python 中使用 exec() 函数,但这将是做你想做的最简单的方法:exec("var1 = {'id': '12345', 'name': 'John White'}")

标签: python variables python-3.x


【解决方案1】:

这是exec提供的功能

>>> my_scope = {}
>>> data = "var1 = {'id': '12345', 'name': 'John White'}"
>>> exec(data, my_scope)
>>> my_scope['var1']
{'id': '12345', 'name': 'John White'}

【讨论】:

  • 您能否详细说明 exec 在这里实际做了什么?
  • exec 是用于动态执行代码的内置函数,除了已经记录的内容外,没有什么好说的了。
【解决方案2】:

您可以使用= 拆分字符串并使用ast.literal_eval 函数评估字典:

>>> import ast
>>> ast.literal_eval(ata.split('=')[1].strip())
{'id': '12345', 'name': 'John White'}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-06-03
    • 1970-01-01
    • 2022-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多