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

新手上路,请多包涵

在 python 中,以下内容将让我们写入 stdout

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

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

原文由 IdleCustard 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 929
1 个回答

你说

我想将流作为参数传递给函数

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

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

所以你不会通过使流成为函数参数来获得任何东西。也就是说, print 函数采用 file 参数指定要写入的流:

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

原文由 user2357112 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题