python - 如何在 FPDF 中同时编写返回的输出和打印的输出?
问题描述
我想将打印语句以及从代码返回的语句写入 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)
推荐阅读
- php - Laravel JWT 身份验证
- postgresql - 在 PostgreSQL 中使用 LEFT OUTER JOIN 删除
- assembly - 如何输出此函数存储十六进制数字的 ASCII 字符串缓冲区?
- php - AWS EC2 突然无法连接 RDS?
- javascript - 如何为量角器端到端脚本录制视频
- python - 执行流程 - ansible play 是如何工作的?
- android - Android 构建失败:无法找到 facebook-core:5.11.1
- webpack - 获取 jQuery 插件 mCustomScrollbar 不是 Webpack 设置的函数错误
- html - 如何使用angularjs在html中获取动态href值
- azure - Azure PAAS 写入副本