怎么把方法名作为参数传入呢?

比如pymongo中的读取数据库集合语句db.<集合名>,因为这个集合名一直要变,所以打算把这个集合名当成参数传入,
类似这样:

def write_db(<集合名>):
    db.<集合名>.insert_one()

但是,集合名一般就是一个字符串,怎么在函数中转化成方法呢?

阅读 2.7k
3 个回答

问下,pymongo不是可以这么操作么:

def write_db(collection):
    db[collection].insert_one()

我平时就是这么搞的,不知道有没有解决你的问题

getattr(db, <集合名>)

试试exec,可以将字符串作为代码执行

a = 1
b = 2
sum = 0
exec('sum = a + b')
print(sum)  # 3
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题