2015-11-21 65 views
1

格式化字符串,我得到TypeError: not enough arguments for format string以下代碼:無法在Python

print("%s,%s,%s" % time.strftime("%m/%d/%Y %H:%M:%S"), (sensor.read_temperature(), (sensor.read_humidity())) 

應該打印日期/時間和CSV格式的兩個變量到控制檯。我的格式字符串有什麼問題?

+0

代碼有語法錯誤,如貼。太多的開放'(括號括號括號的數目。 –

回答

3

您只給格式字符串一個參數;另外兩個值是對print()函數的單獨參數。

移動開括號:

print("%s,%s,%s" % (
    time.strftime("%m/%d/%Y %H:%M:%S"), 
    sensor.read_temperature(), 
    sensor.read_humidity()) 
) 

現在要被內插的所有值都是在一個單一的元組中,施加到'...' %部。你可以只使用print()功能這裏雖然,sep參數設置爲一個逗號:

print(
    time.strftime("%m/%d/%Y %H:%M:%S"), 
    sensor.read_temperature(), 
    sensor.read_humidity(), 
    sep=',')