twisted adbapi中参数tx的意思

最近在做爬虫相关的工作,在数据库使用from twisted.enterprise import adbapi 导入adbapi的包,我在网上查找相关实例,我发现
好多里面都有个参数tx, 但是这个tx前后又没有说明,不懂这个tx在这里代表什么意思

实例一:在下面update_feed_seen_ids有个tx参数

def update_feed_seen_ids(self, tx):

tx.execute(self.feed_seen_sql)

result = tx.fetchall()

if result:

#id[0]是因为result的子项是tuple类型

self.feed_ids_seen = set([int(id[0]) for id in result])

else:

#设置已查看过的id列表

self.feed_ids_seen = set()

实例二:在下面def do_replace还有个tx参数

@staticmethod

def do_replace(tx, item):

"""Does the actual REPLACE INTO"""

sql = """REPLACE INTO properties (url, title, price, description)

VALUES (%s,%s,%s,%s)"""

args = (

item["url"][0][:100],

item["title"][0][:30],

item["price"][0],

item["description"][0].replace("\r\n", " ")[:30]

)

tx.execute(sql, args)

回答:

已解决:dbpool.runInteraction当中的自定义函数_conditional_insert第二个参数通过看网上的实例,发现这个参数tx是自己定义的,但是不论tx被定义为什么名字,都可以执行.execute()

def _conditional_insert(self,tx,item):

tx.execute('insert into real_time_pm(`city`) values(%s)',item['city'])

def process_item(self,item,spider):

self.dbpool.runInteraction(self._conditional_insert,item)

回答:

在python3下,语法错误!
语法错误

以上是 twisted adbapi中参数tx的意思 的全部内容, 来源链接: utcz.com/a/159216.html

回到顶部