为了使此Python调用成功,我需要做些什么:

>>>getattr(MySQLCursor, "fetchall")


如果我只是在脚本的开头进行此调用,则它将失败。我有一个游标,我需要以编程方式从字符串(例如fetchall())中获取它的一种方法,例如"fetchall"我不知道如何设置此调用,这样它才能成功。

最佳答案

getattr(MySQLCursor, "fetchall")起作用:

>>> from mysql.connector.cursor import MySQLCursor
>>> getattr(MySQLCursor, 'fetchall')
<unbound method MySQLCursor.fetchall>


就是这样,这是类MySQLCursor中的一个未绑定方法。

如果有游标的实例,则可以获取一个绑定方法,可以调用该方法:

>>> from mysql.connector.cursor import MySQLCursor
>>> cursor = MySQLCursor()
>>> cursor
<mysql.connector.cursor.MySQLCursor object at 0x7f9368a86350>
>>> getattr(cursor, 'fetchall')
<bound method MySQLCursor.fetchall of <mysql.connector.cursor.MySQLCursor object at 0x7f9368a86350>>
>>> getattr(cursor, 'fetchall')()

关于python - 如何调用`getattr()`以获得Python MySQLCursor方法?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26652840/

10-11 17:21