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" % (
    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=',')

关于python - 无法在 Python 中格式化字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33849318/

相关文章:

python - 如何使用 threading 模块暂停和恢复线程?

具有递归的 Python C API - 段错误

python - Curl 可以工作,但 python requests 不行

python - Django 2.0 : Application labels aren't unique, 重复:auth

python - 根据其他数据帧 pandas 的值更改一个数据帧的值

python - Django:如何正确处理数据库连接错误

python - 正确分类乘客

Python for 和 if 在一行

python - 使用 ctypes 在 Python 中调用 Fortran 共享库

python - 访问数据框的最后一个索引值