命令实现不够灵活,可以使用编码的方式,增强录制与回放的灵活性。
#! /usr/bin/env python
import rospy
import rosbag
from std_msgs.msg import String
if __name__ == "__main__":
#初始化节点
rospy.init_node("w_bag_p")
# 创建 rosbag 对象
bag = rosbag.Bag("/home/rosdemo/demo/test.bag",'w')
# 写数据
s = String()
s.data= "hahahaha"
bag.write("chatter",s)
bag.write("chatter",s)
bag.write("chatter",s)
# 关闭流
bag.close()
#! /usr/bin/env python
import rospy
import rosbag
from std_msgs.msg import String
if __name__ == "__main__":
#初始化节点
rospy.init_node("w_bag_p")
# 创建 rosbag 对象
bag = rosbag.Bag("/home/rosdemo/demo/test.bag",'r')
# 读数据
bagMessage = bag.read_messages("chatter")
for topic,msg,t in bagMessage:
rospy.loginfo("%s,%s,%s",topic,msg,t)
# 关闭流
bag.close()
另外参考: