gpt4 book ai didi

python - 使用具有多个参数的 .write 函数写入 txt 文件 - Python

转载 作者:太空宇宙 更新时间:2023-11-04 08:37:53 27 4
gpt4 key购买 nike

我正在尝试将以下循环写入 .txt 文件(除了将输出打印到终端)。这样做时我收到一条错误消息:

> TypeError:function takes exactly 1 argument (2 given)

我明白这个错误试图表达什么,但是有没有办法解决这个问题。我确实需要将标签和结果输出到 .txt 文件,就像它们打印在终端上一样

这是我使用的代码:

out_write = open(write_to, 'wb')

for arr in top_k:
print(labels[arr], results[arr])
out_write.write(labels[arr], results[arr])
print ("\n\n\n")
out_write("\n\n\n")
out_write.close()

我正在使用 python 2.7

最佳答案

Python 为这个问题提供了很多解决方案。您可以使用多种方法将您的参数组合成一个字符串:

  • 转换为字符串并连接
    out_write.write(str(labels[arr]) + ""+ str(results[arr]) + "\n")
  • 使用 %
    的老式字符串插值out_write.write("%s %s\n"% (labels[arr], results[arr]))
  • str.format()
    out_write.write("{} {}\n".format(标签[arr], 结果[arr]))
  • f-strings,新的热点
    out_write.write(f"{labels[arr]} {results[arr]}\n")

或者你可以使用 print() 本身:

print(labels[arr], results[arr], file=out_write)

为避免在每次调用 print() 时都需要指定 file 参数,您可以使用 functools.partial:

file_out = functools.partial(print, file=out_write)
file_out(labels[arr], results[arr])

或者 lambda!

file_out = lambda *args: print(*args, file=out_write)
file_out(labels[arr], results[arr])

为什么不写一个同时打印的函数呢?一个电话搞定一切!

out = lambda *args: print(*args) and print(*args, file=out_write)

关于python - 使用具有多个参数的 .write 函数写入 txt 文件 - Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47425891/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com