Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python中用字符串替换类方法_Python_Function_Md5_Substitution - Fatal编程技术网

在Python中用字符串替换类方法

在Python中用字符串替换类方法,python,function,md5,substitution,Python,Function,Md5,Substitution,让我们说,我想这样做 hashlibAlgo = "md5" Hash= hashlib.**"hashlibAlgo"**("blah blah blah").hexdigest() 我该怎么做呢。如果我用一个字符串替换方法的名称,它显然不起作用。我怎样才能让它工作?在powershell中很容易,但我无法在Python中理解它。您可以使用getattr获得要执行的函数: >>> import hashlib >>> hashlibAlgo = "md5"

让我们说,我想这样做

hashlibAlgo = "md5"
Hash= hashlib.**"hashlibAlgo"**("blah blah blah").hexdigest()

我该怎么做呢。如果我用一个字符串替换方法的名称,它显然不起作用。我怎样才能让它工作?在powershell中很容易,但我无法在Python中理解它。

您可以使用
getattr
获得要执行的函数:

>>> import hashlib
>>> hashlibAlgo = "md5"
>>> getattr(hashlib, hashlibAlgo)("blah blah blah").hexdigest()
'55e562bfee2bde4f9e71b8885eb5e303'

比我快。(我想这就是我第一次看到那个函数人时编辑得到的:P)+1(0_0)。太棒了。谢谢你的快速回复和很好的解决方案。@JuanC。--它还需要一个可选的第三个参数:
getattr(thing,'string',如果没有字符串,则返回this)
+1,这是说明
getattr
何时有用的最佳示例之一。(通常这类问题是新手想要以错误的方式解决愚蠢问题的标志。但在这里,你试图以正确的方式解决一个完全合理的问题。)