复制包类的实例

时间:2016-07-28 13:03:23

标签: python-2.7 copy ubuntu-14.04 pycharm ros

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

import rosbag

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

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

不幸的是, Bag 类没有提供正确的函数 copy()

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

感谢您的支持。

1 个答案:

答案 0 :(得分:1)

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将不会受到影响。