复制包 class 的实例

Copy instance of class of package

我使用 rosbag 包,它由 ROS.org 提供。我的代码看起来像

import rosbag

bag_path = "/path/to/bag/file.bag"
bag = rosbag.Bag(bat_path)

而我想要做的是,正确复制实例 bag,因为我想在两个不同的线程中处理数据。

不幸的是,class Bag 没有提供适当的功能 copy()

那么,如何正确复制外部 class 的实例?

感谢您的支持。

copy 包可用于创建新的相同自定义 类 实例。

import copy

class TestClass:
   def __init__(self, a, b, c):
       self.a = a
       self.b = b
       self.c = c

x = TestClass(1, 2, 3)
y = copy.copy(x)

xy完全具有保存变量属性,但是如果您更改x.ay.a将不会受到影响。