与变量进行PySerial通信

时间:2012-07-03 11:53:33

标签: python serial-port arduino pyserial

我正在尝试通过OS X上的Pyserial与我的Arduino接口。我正在通过发送0到9的数字来控制LED。 代码如

import serial
arduino = serial.Serial('/dev/tty.usbserial', 9600)

arduino.write('5')

完美无缺,但我试图将此示例中的5作为可变变量,但类似

arduino.write('%d') % 5

不起作用。我不知道如何格式化输出等于工作示例的变量?

2 个答案:

答案 0 :(得分:4)

您没有格式化字符串%d,而是函数调用:

arduino.write('%d' % 5)

%符号应立即显示在'之后。

这样可行,但最好使用格式字符串的元组:

arduino.write('%d' % (5,))

因为当您有多个参数时,无论如何都必须以这种方式使用它:

arduino.write('%d.%d' % (2, 3))

答案 1 :(得分:2)

字符串格式必须位于函数调用的括号内。

e.g。 arduino.write("%d" % 5)

以下是old-style string formatting

的一些信息