1

OS XのPyserial経由でArduinoとインターフェースしようとしています。0から9までの数字を送信してLEDを制御しています。コードは次のとおりです

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 に答える