为了使此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/