2012-07-03 35 views
0

我想用在OS X上我控制從0發送號碼的LED通過我的Arduino Pyserial接口到9 代碼爲與變量PySerial通信

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

arduino.write('5') 

工作完全正常,但我試圖把這個例子中的5作爲一個可變變量,但是像

arduino.write('%d') % 5 

將不起作用。我不知道如何格式化輸出等於工作示例的變量?

回答

3

你沒有格式化字符串%d但函數調用:

arduino.write('%d' % 5) 

%跡象應立即'後去。

這是可行的,但它也是最好使用的元組與格式字符串:

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

因爲當你有多個參數,你就無論如何必須使用這種方式:

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

字符串格式必須放在函數調用的括號內。

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

這裏有old-style string formatting

+0

我認爲我使用的是「舊式格式」這裏的一些信息。什麼是格式化的「新」方式?! – birgit

+0

@birgit類似於「{d}」格式(d = 5)' – jadkik94

+0

@birgit檢出[文檔](http://docs.python.org/release/3.1.5/library/string.html #format-string-syntax)爲'new'字符串格式語法。 – msvalkon