Python 通过复制内存内容将变量设置为等于另一个变量

Python 通过复制内存内容将变量设置为等于另一个变量,python,python-3.x,Python,Python 3.x,如果变量a=100,如何通过复制a的内容而不仅仅是使用指针或任何类型的对a的引用,将变量b设置为等于变量a 为了更好地解释,我有一个被调用的函数,它调用postgres并将游标返回保存到变量(cursor_a)中。然后将光标返回给调用者。如果在被调用函数中关闭db连接,则无法再访问光标 设置cursor_b=cursor_a并将cursor_b返回给调用者会产生与我直接使用cursor_a时相同的错误。有没有办法将游标a的内容保存到游标b中,然后关闭连接并将游标b返回给调用者?游标由数据库的连接

如果变量a=100,如何通过复制a的内容而不仅仅是使用指针或任何类型的对a的引用,将变量b设置为等于变量a

为了更好地解释,我有一个被调用的函数,它调用postgres并将游标返回保存到变量(cursor_a)中。然后将光标返回给调用者。如果在被调用函数中关闭db连接,则无法再访问光标


设置cursor_b=cursor_a并将cursor_b返回给调用者会产生与我直接使用cursor_a时相同的错误。有没有办法将游标a的内容保存到游标b中,然后关闭连接并将游标b返回给调用者?

游标由数据库的连接支持,它没有自己的数据(这在某种程度上是由名称暗示的,就像鼠标光标一样,它指向东西,而不是东西本身)。您需要在关闭DB连接之前从光标读取数据。

也许这是解释性的:
b=a
就是您要查找的。它将名称
b
绑定到
a
绑定到的同一对象。检查
id(a)==id(b)
@a\u guest我尝试了一个简单的“=”但不起作用。我用更详细的解释扩展了我的问题。你能分享你的代码吗?通常您不应该在查询之间共享游标。@kravb即使您复制了内存内容,您怎么能期望第二个对象与第一个对象的工作方式不同,因为它们完全相同?