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

我有一个打印功能。如何将其输出为字符串?

注意:我无法更改功能代码。


def f():

    print('hello world')


# do something


assert x == 'hello world\n'

我需要这个,因为火花数据框中有方法explain即打印约执行计划的信息。但我需要这个信息作为我的程序中的字符串。


>>> df.explain()

== Physical Plan ==

Scan ExistingRDD[age#0,name#1]


回首忆惘然
浏览 152回答 1
1回答

交互式爱情

def f():    print('hello world')import iofrom contextlib import redirect_stdoutwith io.StringIO() as buf, redirect_stdout(buf):    f()    x = buf.getvalue()assert x == 'hello world\n'
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python