2016-07-28 2 views
0

Я работаю с rosbag пакетом, который предоставляется ROS.org. Мой код выглядитКопия экземпляра класса упаковки

import rosbag 

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

и что я хочу сделать, это, чтобы скопировать экземпляр мешок правильно, потому что я хочу, чтобы обрабатывать данные в двух разных потоках.

Unfortunatelly, класс сумка не обеспечивает надлежащую функцию копию().

Итак, как скопировать экземпляр внешнего класса правильно?

Благодарим вас за поддержку.

ответ

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) 

x и y имеют точно сохранить свойства переменных, но если вы измените x.a, y.a не будет затронут.

+0

Спасибо! Ровно то, что я хотел иметь! – themacco

Смежные вопросы