2016-07-28 9 views
0

私はROS.orgによって提供されるrosbagパッケージを使用しています。私のコードは、私は2つの異なるスレッド内のデータを処理したいので、正しくインスタンスバッグをコピーするには、パッケージのクラスのインスタンスをコピーします

import rosbag 

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

そして、私は何をしたいですように見えます。

不運にも、クラスバッグは、適切な機能を提供しません。コピー()

したがって、外部クラスのインスタンスを正しくコピーするにはどうすればよいですか?

ご協力いただきありがとうございます。

答えて

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.aを変更した場合、y.aは影響を受けません。

+0

ありがとうございました!私が望んでいたことをExcactly! – themacco

関連する問題