#! /usr/bin/env python
#coding=utf-8


# from os import putenv
import rospy
# from std_msgs import msg
from std_msgs.msg import String # 发布的消息类型

'''
使用欧Python 实现消息发布:
1. 导包;
2. 初始化ros节点
3. 创建发布者对象;
4. 编写发布逻辑并发布数据。
'''


if __name__ == "__main__":

# 2. 初始化ros节点
rospy.init_node("sanDai") #传入节点名称
# 3. 创建发布者对象;
pub = rospy.Publisher("che",String,queue_size=10)
# 4. 编写发布逻辑并发布数据。
# 创建数据
msg = String()
# 使用循环发布数据
while not rospy.is_shutdown():
msg.data = "hello"
# 发布数据
pub.publish(msg)

“”"

记录一下遇到的错误:

  1. 如果Python文件中有中文,会抛出异常SyntaxError: Non-ASCII character '\xe5' in file
    解决方法:在Python文件前加上一句
    #coding=utf-8
  2. 在运行python时,抛出异常import: not authorized 'rospy' @ error/constitute.c/WriteImage/1028.
    解决方法:在python文件前面加上一句 --> 指定一下解释器
    #! /usr/bin/env python
  3. 如果吧#coding=utf-8放在第一行,#! /usr/bin/env python放在第二行,还是会出现问题2,所以他们之间的顺序应该如下:
    #! /usr/bin/env python #coding=utf-8

“”"