与变量的 PySerial 通信

bir*_*git 1 python serial-port arduino pyserial

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

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

arduino.write('5')
Run Code Online (Sandbox Code Playgroud)

工作得很好,但我试图将本例中的 5 作为可变变量,但类似于

arduino.write('%d') % 5
Run Code Online (Sandbox Code Playgroud)

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

jad*_*k94 5

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

arduino.write('%d' % 5)
Run Code Online (Sandbox Code Playgroud)

%标志应去后,'立即。

这会起作用,但最好使用带有格式字符串的元组:

arduino.write('%d' % (5,))
Run Code Online (Sandbox Code Playgroud)

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

arduino.write('%d.%d' % (2, 3))
Run Code Online (Sandbox Code Playgroud)