我有一个文本文件,看起来像:
<URProgram createdIn="3.0.0.0" lastSavedIn="3.0.0.0" robotSerialNumber="" name="fix_test" directory="" installation="default">
<children>
<MainProgram runOnlyOnce="true">
<children>
<Script type="File">
<cachedContents>
#fix_test
#Generated by Robotmaster
Frame_0 = p[0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000]
set_tcp(p[0.000000, 0.149000, 0.098500, -1.209200, -1.209200, -1.209200])
movej([0.000000, -1.570796, -1.570796, 3.141593, -1.570796, 3.141593], a=0.5236, v=0.5236, r=0.002)
movej(get_inverse_kin(pose_trans(Frame_0, p[0.610000, 0.021012, 0.255841, 2.356194, 0.000000, 0.000000]), [0.676328, -1.397491, -2.205785, 3.603275, -0.894469, 2.356194]), a=0.5236, v=0.5236, r=0.002)
movej(get_inverse_kin(pose_trans(Frame_0, p[0.610000, 0.013941, 0.248770, 2.356194, 0.000000, 0.000000]), [0.662638, -1.400102, -2.217578, 3.617680, -0.908158, 2.356194]), a=0.5236, v=0.5236, r=0.002)
movej(get_inverse_kin(pose_trans(Frame_0, p[0.610000, -0.017879, 0.216950, 2.356194, 0.000000, 0.000000]), [0.598347, -1.417498, -2.267414, 3.684913, -0.972450, 2.356194]), a=0.5236, v=0.5236, r=0.002)
movel(pose_trans(Frame_0, p[0.610000, -0.023536, 0.211293, 2.356194, 0.000000, 0.000000]), a=0.1, v=0.05, r=0)
movel(pose_trans(Frame_0, p[0.600000, -0.023536, 0.211293, 2.356194, 0.000000, 0.000000]), a=0.1, v=0.05, r=0.002)
movel(pose_trans(Frame_0, p[0.550000, -0.023536, 0.211293, 2.356194, 0.000000, 0.000000]), a=0.1, v=0.05, r=0.002)
movel(pose_trans(Frame_0, p[0.540000, -0.023536, 0.211293, 2.356194, 0.000000, 0.000000]), a=0.1, v=0.05, r=0)
movel(pose_trans(Frame_0, p[0.540000, -0.017879, 0.216950, 2.356194, 0.000000, 0.000000]), a=0.1, v=0.05, r=0.002)
movej(get_inverse_kin(pose_trans(Frame_0, p[0.540000, 0.013941, 0.248770, 2.356194, 0.000000, 0.000000]), [0.789221, -1.260062, -2.317786, 3.577848, -0.781575, 2.356194]), a=0.5236, v=0.5236, r=0.002)
movej(get_inverse_kin(pose_trans(Frame_0, p[0.540000, 0.021012, 0.255841, 2.356194, 0.000000, 0.000000]), [0.804109, -1.258814, -2.304978, 3.563793, -0.766687, 2.356194]), a=0.5236, v=0.5236, r=0.002)
movej([0.000000, -1.570796, -1.570796, 3.141593, -1.570796, 3.141593], a=0.5236, v=0.5236, r=0.002)
</cachedContents>
<file>20201027_185454-fix_test.script</file>
</Script>
</children>
</MainProgram>
</children>
</URProgram>
我想将其保存为以下内容:
p[0.610000,0.021012,0.255841,2.356194,0.000000,0.000000]
p[0.610000,0.013941,0.248770,2.356194,0.000000,0.000000]
p[0.610000,-0.017879,0.216950,2.356194,0.000000,0.000000]
p[0.610000,-0.023536,0.211293,2.356194,0.000000,0.000000]
p[0.600000,-0.023536,0.211293,2.356194,0.000000,0.000000]
p[0.550000,-0.023536,0.211293,2.356194,0.000000,0.000000]
p[0.540000,-0.023536,0.211293,2.356194,0.000000,0.000000]
p[0.540000,-0.017879,0.216950,2.356194,0.000000,0.000000]
我需要的是TCP位置在每个“movel”行的中间,我如何使用python代码来实现它? 我知道如何读取txt文件并将其拆分为行,但我不知道如何提取特定的单词。 请帮帮我
这里是另一个解决方案,它不太复杂,但也不太健壮
查看您的文件,唯一出现的
p[...]
是您要提取的文件因此
p\[.*?\]
匹配从p[
开始直到下一个]
的任何内容如果您可以读取文件并将其拆分为行,那么您只缺少适当的正则表达式,即:
注意:部分
[+-]?(\d*[.])?\d+
匹配任何浮点数(从here偷来)详细解释见my saved RegExr
完整示例:
您可以随意存储输出或将其写入文件,而不是打印输出
相关问题 更多 >
编程相关推荐