1

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

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

arduino.write('5')

工作得很好,但我试图让这个例子中的 5 作为一个可变变量,但类似于

arduino.write('%d') % 5

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

4

2 回答 2

5

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

arduino.write('%d' % 5)

%标志应'立即进行。

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

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

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

arduino.write('%d.%d' % (2, 3))
于 2012-07-03T12:00:19.353 回答
2

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

例如arduino.write("%d" % 5)

这是有关旧式字符串格式的一些信息

于 2012-07-03T12:00:50.437 回答