为了账号安全,请及时绑定邮箱和手机立即绑定

以字符串形式获取函数的输出

以字符串形式获取函数的输出

回首忆惘然 2021-11-16 15:04:06
我有一个打印功能。如何将其输出为字符串?注意:我无法更改功能代码。def f():    print('hello world')# do somethingassert x == 'hello world\n'我需要这个,因为火花数据框中有方法explain即打印约执行计划的信息。但我需要这个信息作为我的程序中的字符串。>>> df.explain()== Physical Plan ==Scan ExistingRDD[age#0,name#1]
查看完整描述

1 回答

?
交互式爱情

TA贡献1712条经验 获得超3个赞


def f():

    print('hello world')


import io

from contextlib import redirect_stdout


with io.StringIO() as buf, redirect_stdout(buf):

    f()

    x = buf.getvalue()


assert x == 'hello world\n'


查看完整回答
反对 回复 2021-11-16
  • 1 回答
  • 0 关注
  • 151 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信