如何帮助硬盘尽快报废。。。
while not rospy.is_shutdown():
f = open('/home/xmlot/robot_0608_222_ws/src/turn_on_wheeltec_robot/scripts/task.csv','r')
for goal in f:
coordinates = goal.split(",")
simple_move(float(coordinates[0]),float(coordinates[1]),float(coordinates[2]),float(coordinates[3]))
talker(coordinates)
rospy.loginfo("goal reached")
rospy.sleep(5)
f.close()
rospy.sleep(1)
解决方案1 先读取到内存里
f = open('/home/xmlot/robot_0608_222_ws/src/turn_on_wheeltec_robot/scripts/task.csv','r')
while not rospy.is_shutdown():
fr = list(f.read().split("\n"))
print(fr)
print(type(fr))
for goal in fr:
print(goal)
coordinates = goal.split(",")
print(coordinates)
simple_move(float(coordinates[0]),float(coordinates[1]),float(coordinates[2]),float(coordinates[3]))
talker(coordinates)
rospy.loginfo("goal reached")
rospy.sleep(5)
f.close()
rospy.sleep(1)
但是上面的写法会报错
Traceback (most recent call last):
File "/home/xmlot/robot_0608_222_ws/src/turn_on_wheeltec_robot/scripts/task_run_mulpose_loop.py", line 79, in <module>
simple_move(float(coordinates[0]),float(coordinates[1]),float(coordinates[2]),float(coordinates[3]))
ValueError: could not convert string to float:
/scripts$ rosrun turn_on_wheeltec_robot task_run_mulpose_loop.py ^Cts$ ^C
改进,试一试readlines()
f = open('/home/xmlot/robot_0608_222_ws/src/turn_on_wheeltec_robot/scripts/task.csv','r')
while not rospy.is_shutdown():
# fr = list(f.read().split("\n"))
fr = f.readlines()
print(fr)
print(type(fr))
for goal in fr:
print(goal)
coordinates = goal.split(",")
print(coordinates)
simple_move(float(coordinates[0]),float(coordinates[1]),float(coordinates[2]),float(coordinates[3]))
talker(coordinates)
rospy.loginfo("goal reached")
rospy.sleep(5)
f.close()
rospy.sleep(1)
其实还是有问题,正确的做法是每次重新初始化函数的指针哈哈哈。。。f.seek(0)
f = open('/home/xmlot/robot_0608_222_ws/src/turn_on_wheeltec_robot/scripts/task.csv','r')
while not rospy.is_shutdown():
f.seek(0)
for goal in f:
print(goal)
coordinates = goal.split(",")
print(coordinates)
simple_move(float(coordinates[0]),float(coordinates[1]),float(coordinates[2]),float(coordinates[3]))
talker(coordinates)
rospy.loginfo("goal reached")
rospy.sleep(5)
f.close()
rospy.sleep(1)