python - 在 python 中实现 fprintf 的简单方法是什么?

标签 python python-3.x dictionary file-io ascii

在 python 中,以下代码将让我们写入 stdout:

import sys
sys.stdout.write("blah %d" % 5)

但是,我希望能够灵活地选择打印到哪个流。我想将流作为参数传递到函数中,就像在任何 C 派生语言中调用 fprintf 时一样。在上面的源代码片段中,stdout 被硬编码到 write 语句中。但是,我们希望能够灵活地选择写入哪个流。我们可能需要 stderr 或其他一些流来代替 stdout

最佳答案

你说

I want to pass the stream as an argument into a function

但这并没有给你任何额外的灵活性。如果您有一个 some_stream 变量引用您想要写入的流,那么您已经可以这样做

some_stream.write("blah %d" % 5)

因此,将流作为函数参数不会获得任何好处。也就是说,print 函数采用一个 file 参数来指定要写入哪个流:

print("blah %d" % 5, end='', file=some_stream)

关于python - 在 python 中实现 fprintf 的简单方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46991861/

相关文章:

dictionary - lua 5.2 改变表格中元素的顺序

python - 处理函数中 Python 错误的最佳方法

python - 在 python 中从 HEX 转换为 SIGNED DEC

python - 为每个操作创建一个线程还是为各种操作创建一些线程?

python - 如何在Python中创建具有任意数量关键字参数的单例对象?

python 类在 __init__ 中使用 super 调用自身

python - 如何过滤数组中与某个字典属于同一家族或层次结构的所有字典?

python - 如何通知pandas DataFrame修改?

python - 获取当天获取的数据的方法

python - 将字典图表转换为文本直方图