我想将打印语句以及从代码返回的语句写入pdf文件。换句话说,我想将确切的终端输出写入PDF文件。有人可以帮我怎么得到这个吗?
import fpdf
def oops():
print('hello')
return('V')
def data():
return oops()
pdf = fpdf.FPDF(format = 'A4')
pdf.add_page()
pdf.set_font("Arial")
pdf.cell(10, 10, data())
pdf.output("2.pdf")
我想将确切的终端输出写入PDF文件。有人可以帮我怎么得到这个吗?
PDF文件中的预期输出是
hello
V
我不熟悉fpdf或pdf文件的创建,但是我希望这里是一些代码,希望可以使用包装器功能为您提供大部分帮助。
[而不是调用print()
,而是调用包装函数print_and_append_to_return_list()
,该函数不仅会打印,还会将打印出的值附加到return_list
。您将返回但未打印的任何项目(例如您的示例中的“ V”)都将使用此行代码return_list
直接附加到return_list.append('V')
。而不是返回“ V”,您将return(return_list)
包含所有内容。
听起来像当您返回return_list
时,您已经知道如何从这样的列表中提取数据并将其插入到pdf文件中。
这里是代码:
return_list = []
def print_and_append_to_return_list(print_string):
print(print_string)
return_list.append(print_string)
def oops():
print_and_append_to_return_list('hello')
return_list.append('V')
return(return_list)
data_list = oops()
for item in data_list:
print(item)