Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arduino-python读取串行布局_Python_Arduino_Pyserial - Fatal编程技术网

Arduino-python读取串行布局

Arduino-python读取串行布局,python,arduino,pyserial,Python,Arduino,Pyserial,我正在使用pyserial从我的Arduino读取一些值。 使用serial.readlines(), 但这些值看起来像: BL:左转\n' b'r:右转向\n' 我怎样才能摆脱这些b'和\n'? 替换它们不起作用…b表示字符串所处的编码–它实际上不是字符串的一部分,因此无法替换它。与每个“”类似,它们表示它是一个字符串。(4和'4'是两件不同的事情,但是print(…)这两件事中的任何一件都会得到相同的结果。)您只需要用 要对字符串重新编码,这应该足够了: b'string'.decode

我正在使用
pyserial
从我的Arduino读取一些值。 使用
serial.readlines(),
但这些值看起来像:

  • BL:左转\n'
  • b'r:右转向\n'
我怎样才能摆脱这些
b'
\n'

替换它们不起作用…

b
表示字符串所处的编码–它实际上不是字符串的一部分,因此无法替换它。与每个
”类似,它们表示它是一个字符串。(
4
'4'
是两件不同的事情,但是
print(…)
这两件事中的任何一件都会得到相同的结果。)您只需要用

要对字符串重新编码,这应该足够了:

b'string'.decode('ascii')
如果您使用的是Unicode,请使用

b'string'.decode('utf-8')
相反。有关此目的的更多信息,请参阅



我强烈建议您在使用Arduino启动应用程序之前熟悉Python作为一种语言。亲身体验/实验是一件好事(tm),但在开始之前,你应该对基本原理有一个纯粹的了解。Python维护人员有一个专为完全初学者设计的程序,我建议您从开始。您是否尝试过使用“打印”和从readlines获得的值?@FredS我的想法与您的想法相同,但数据是二进制的<在本例中,code>print
的作用与
repr
类似。在python 2.7中执行“print”时,似乎对我有效。也许在python 3+中有所不同?也许。。。我正在使用python3+,但它并没有这样工作…谢谢-但也许我应该更好地解释它。。。我知道我可以根据您的建议删除\n。。。然而,我需要一个干净的输出,没有“”,没有“b”在开始…我的答案是书面的
b
是字符串的编码;它不是字符串本身的一部分。
b'string'.decode('utf-8')
Python 3.4.2 (default, Oct 19 2014, 17:55:38) 
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.54)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> b'l: steer left \n'
b'l: steer left \n'
>>> _.decode('ascii')
'l: steer left \n'
>>> print(_)
l: steer left 

>>> exit()