Python中的过滤器字符串

Python中的过滤器字符串,python,string,Python,String,我在python应用程序中使用TCP/IP读取了机器人的当前位置数据。每0.08秒(80ms)执行一次。请参见下面的代码 import urllib.request import time i = 0 while(i < 100): t0 = time.time() response = urllib.request.urlopen("http://192.168.41.110/MD/CURPOS.DG") for line_number,

我在python应用程序中使用TCP/IP读取了机器人的当前位置数据。每0.08秒(80ms)执行一次。请参见下面的代码

import urllib.request
import time
i = 0

while(i < 100):
    t0 = time.time()
    response = urllib.request.urlopen("http://192.168.41.110/MD/CURPOS.DG")

    for line_number, line in enumerate(response):
        if(line_number >= 165 and line_number <= 171):
            print(line)
    i = i + 1
    t1 = time.time()
    total = t1-t0
    print ("Total Cyclic time: ", total)
    print("\n\n")
我想将每个axis:XYZ WPR保存在一个变量中。为了实现这一点,我想过滤不必要的信息。必须有一个简单的解决方案来做到这一点

想要的输出:

b'X:    566.13\n'
b'Y:    226.40\n'
b'Z:    312.07\n'
b'W:    179.99\n'
b'P:       .00\n'
b'R:    -66.34\n'
Total Cyclic time:  0.07909107208251953
566.13
226.40
312.07
179.99
.00
-66.34
Total Cyclic time:  0.07909107208251953

首先,您应该解码结果,因为它们都是字节。
执行此操作后,您可以检查起始字符是X、Y还是Z,然后去掉字母、冒号和尾随字符以获得实际值。

首先,您应该解码结果,因为它们都是字节。
yourvar = float((yourstring.decode("utf-8")[2:-1]).strip())

执行此操作后,只需检查起始字符是X、Y还是Z,然后去掉字母、冒号和尾随字符即可获得实际值。

我看不到任何不必要的信息。你的意思是可能会有其他信息进来吗?我相信他只是想要价值,然后把其余的都扔掉。。。首先解码字符串。通过找到“:”和“\”的位置,然后strip()+float(),中间的值应该是他想要的。最终结果应该是什么样的?我已经编辑了我的帖子。对于浮点数,请执行
打印(float(line.split()[-1])
;对于字符串,请执行打印(line.decode().split()[-1])。我看不到任何不必要的信息。你的意思是可能会有其他信息进来吗?我相信他只是想要价值,然后把其余的都扔掉。。。首先解码字符串。通过找到“:”和“\”的位置,然后strip()+float(),中间的值应该是他想要的。最终结果应该是什么样的?我已经编辑了我的帖子。对于浮点数,请执行
打印(float(line.split()[-1])
;对于字符串,请执行
打印(line.decode().split()[-1])
。这样做很好!谢谢。这工作做得很好!非常感谢。
yourvar = float((yourstring.decode("utf-8")[2:-1]).strip())