【问题标题】:String to syntax Python字符串到语法 Python
【发布时间】:2013-05-19 18:10:56
【问题描述】:

我使用configparser 来获取我的python 脚本的值,但我需要调用存储在config.ini 中的函数...由于configparser 中的所有值都存储为字符串,是否可以将字符串转换为语法?如果有,怎么做?

【问题讨论】:

  • 你可以exec这个字符串,或者我想eval如果它是一个lambda表达式...

标签: python string syntax config configparser


【解决方案1】:

您可以尝试使用eval,文档here

或者你可以试试exec,文档here

小心,这些只是快速而肮脏的方式。

更好、更安全的方法是使用getattr() (documentation) 和setattr() (documentation) 索引到globals

【讨论】:

  • 正是我想要的...谢谢
  • @Mirac7: ast.literal_eval 是安全的方式。它不会处理像'a' + 'b' 这样的实际Python 表达式,但它会将像[1, 2]{'a': 'b'} 这样的文字字符串转换为Python 对象。 eval() 很容易被利用。
猜你喜欢
  • 2018-08-08
  • 1970-01-01
  • 2011-07-19
  • 2012-01-30
  • 1970-01-01
  • 2013-05-30
  • 1970-01-01
  • 2021-12-22
  • 1970-01-01
相关资源
最近更新 更多