python逐行读取txt文件里的数据并且赋值给变量

需求:

在txt文档里写了一串机械臂运动的点,里面包含了xyz位置和四元数组,有n行,每行n个数据,需要将这些数据用rostopic发布出来,让机械臂依次运行这些点

代码:

#!/usr/bin/env python  
import roslib
#roslib.load_manifest('learning_tf')
import rospy
import math
import tf
import geometry_msgs.msg
import turtlesim.srv
import sys	
import time
import json
import string
from geometry_msgs.msg import PoseStamped
i = 0

def txt_read ():
    test_pose = PoseStamped()
    global i
    f = open("SamplePoses.txt","r") 
    lines = f.readlines() 
    pose = [0.0,0.0,0.0,0.0,0.0,0.0,0.0]    
    for line in lines:
        pose = line.split()
        
        print(pose[0])
        
        test_pose.pose.position.x = float(pose[0])
        test_pose.pose.position.y = float(pose[1])
        test_pose.pose.position.z = float(pose[2])
        test_pose.pose.orientation.x = float(pose[3])
        test_pose.pose.orientation.y = float(pose[4])
        test_pose.pose.orientation.z = float(pose[5])
        test_pose.pose.orientation.w = float(pose[6])
        rate = rospy.Rate(1) 
        
    
        rospy.loginfo(test_pose)
        pose_pub.publish(test_pose)
        rate.sleep()
            

        
 
    f.close()

if __name__ == '__main__':
    rospy.init_node('read_txt_pose', anonymous=True)
    pose_pub = rospy.Publisher('txt_pose', PoseStamped, queue_size=10)
    txt_read()

这份代码在自己的系统上跑过,可以用

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用Python的open()函数来打开一个TXT文件,并使用readlines()方法逐行读取TXT文件的内容并存储到数组。以下是一个示例代码: ```python with open('file.txt', 'r') as f: lines = f.readlines() for line in lines: # 对每一行进行处理,例如输出或者赋值 print(line.strip()) # 去除每行末尾的换行符并打印 ``` 其,`file.txt`是你要读取TXT文件名,`lines`是存储读取内容的数组。在with语句块打开文件后,可以使用`readlines()`方法逐行读取文件内容并将其存储到`lines`数组。最后,可以对每一行进行处理,例如输出或者赋值。上述示例代码,使用`strip()`方法去除每行末尾的换行符并打印。 ### 回答2: 可以使用Python文件操作函数逐行读取TXT文件的数组并进行赋值。 首先,使用`open()`函数打开TXT文件,设置文件操作模式为只读模式,并将文件对象赋值给一个变量,例如`file`。假设文件名为`data.txt`。 ```python file = open("data.txt", "r") ``` 接下来,可以使用`readlines()`函数逐行读取文件内容,并将每一行的数据存储在一个数组,例如`data`。 ```python data = file.readlines() ``` 此时,`data`数组的每个元素对应TXT文件的一行数据。 如果想要进一步处理每一行的数据,可以使用`for`循环遍历`data`数组,并对每个元素进行处理或赋值。 ```python for line in data: # 进行处理或赋值操作 ``` 例如,如果每行的数据是以空格分隔的整数,可以使用`split()`函数将每行数据分割成一个整数数组,并将结果存储在一个新的数组,例如`nums`。 ```python nums = [] for line in data: nums.append([int(x) for x in line.split()]) ``` 这样,`nums`数组的每个元素对应TXT文件的一行数据,并且是由整数组成的数组。 最后,记得在处理完TXT文件后,使用`close()`函数关闭文件。 ```python file.close() ``` 以上就是使用Python逐行读取TXT文件数组并赋值方法。 ### 回答3: 可以使用Python的open()和readlines()方法逐行读取TXT文件,并将每一行的内容赋值给一个数组。 首先,使用open()方法打开指定的TXT文件,并将返回的文件对象赋值给一个变量,例如file。 然后,使用readlines()方法读取file对象的内容,并将每一行的内容保存到一个新的数组,例如lines。 接下来,可以使用for循环遍历lines数组,逐行打印或处理文件内容。 以下是一个简单的示例代码: ```python file = open('example.txt', 'r') # 打开指定的TXT文件,并赋值变量file lines = file.readlines() # 读取文件内容,并将每一行的内容保存到lines数组 for line in lines: # 在这对每一行的内容进行处理,例如打印或赋值给其他变量 print(line) file.close() # 关闭文件 ``` 在上述示例,我们通过open()方法打开了名为example.txtTXT文件,并将文件对象赋值变量file。然后,我们使用readlines()方法读取file对象的内容,并将每一行的内容保存到lines数组。接下来,我们使用for循环遍历lines数组,将每一行打印出来。最后,我们使用close()方法关闭文件。 请注意,以上示例仅给出了逐行读取TXT文件赋值给数组的基本框架,具体的处理方式根据实际需求进行修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值