无法在Python中格式化字符串

无法在Python中格式化字符串,python,Python,我得到TypeError:没有足够的参数用于以下代码的格式字符串: print("%s,%s,%s" % time.strftime("%m/%d/%Y %H:%M:%S"), (sensor.read_temperature(), (sensor.read_humidity())) 它应该以CSV格式将日期/时间和两个变量打印到控制台。我的格式字符串有什么问题?您只给格式字符串一个参数;其他两个值是print()函数的单独参数 移动左括号: print("%s,%s,%s" % (

我得到
TypeError:没有足够的参数用于以下代码的格式字符串

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

它应该以CSV格式将日期/时间和两个变量打印到控制台。我的格式字符串有什么问题?

您只给格式字符串一个参数;其他两个值是
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=',')

您的代码有语法错误,如发布的那样。开头的
括号与结尾的括号数量相比过多。