我正试着插入一本带有方汤的字典。不幸的是,这是行不通的:
db.blah_table.insert({"blah_field" : "blah_value"})它给了我一个错误
TypeError: insert() takes exactly 1 argument (2 given)sqlsoup的更新效果很好。我真的不想把这事搞成
db.blah_table.insert(blah_field = "blah_value")这也很管用。帮助!
发布于 2014-01-15 08:36:34
在python中,可以使用**参数打包语法将字典作为关键字参数传递给任何函数。
如果您的字典arguments定义为:
arguments = {'blah_field': 'blah_value'}您可以使用该字典作为关键字参数调用db.blah_table.insert,如下所示:
db.blah_table.insert(**arguments)在引擎盖下,这相当于:
db.blah_table.insert(blah_field=blah_value)另外,虽然**可以从字典中解压缩命名的参数,但是可以使用单个*从列表或元组中解压位置参数。
https://stackoverflow.com/questions/21132516
复制相似问题