python - 将字符串转换为预定义的Python变量

标签 python

我想知道如何将字符串转换为Python定义的变量。

基本上我想这样做。

if value1 operator value2:
      print True 

我的运算符是一个字符串 '==' , '>', '<', '!=' 这样就变成了

if value1 == value2:
      print True

我试过operator = getattr(sys.modules[__name__], operator )但它适用于类。 谢谢。

最佳答案

使用运算符(operator)模块:

import operator

def op(str, value1, value2):
    lookup = {'==': operator.eq, '>': operator.gt,
              '<': operator.lt, '!=': operator.ne}
    if str in lookup:
        return lookup[str](value1, value2)

    return False

v1 = 1
v2 = 2
print op("!=", v1, v2)
# True

关于python - 将字符串转换为预定义的Python变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5561494/

相关文章:

python - Django NoReverseMatch

python - 让主人在任务农场工作

python - 提取括号之间的文本并为每个文本位创建行

python - 将远程原始代码转换为树莓派的十六进制代码

python - 由于夹具加载问题,Django 单元测试失败

python - 将 lambda 函数保存到文件而不引用其他变量/显式

python - 用波兰语字符加密字符串的简单方法

python - 在字符串中查找数组项

python - Numpy:找到蒙版边缘的索引

Python 抓取表