gpt4 book ai didi

python - 在 Python 中复制光标对象

转载 作者:太空宇宙 更新时间:2023-11-03 12:25:13 24 4
gpt4 key购买 nike

我正在开发 Trac-Plugin...

为了检索我的数据,我创建了一个游标对象并获得如下结果表:

 db = self.env.get_db_cnx()
cursor = db.cursor()
cursor.execute("SELECT...")

现在结果被用于 3 个不同的函数。我现在的问题是光标在第一次循环时被清除(就像这里所说的 http://packages.python.org/psycopg2/cursor.html )

然后我尝试复制游标对象,但这也失败了。 copy(cursor) 函数似乎对大数据集有问题,函数 deepcopy(cursor) 无论如何都会失败(根据这个错误 http://bugs.python.org/issue1515)。

我该如何解决这个问题?

最佳答案

存储任何有限可迭代对象的值很简单:

results = list(cursor)

遍历 iterable 并将结果存储在列表中。可以根据需要多次迭代此列表。

您不需要游标的副本,只需要查询结果的副本。

对于这种特定情况,您应该按照 9000 在他的评论中的建议进行操作——使用游标内置功能来获取列表的结果,这应该与手动调用 list 一样快或更快。 .

关于python - 在 Python 中复制光标对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10175519/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com