python实例化类的存储内存地址_从可用作字符串的类实例化python类,只在内存中!...

我正在使用Reportlab创建PDF。我正在创建两个PDF,我想在创建后合并它们。Reportlab提供了一种将pycanvas (source)(基本上是内存中的pdf文件)保存为python文件的方法,并对该python文件调用doIt(filename)方法,将重新创建pdf文件。这很好,因为您可以在源代码的基础上组合两个pdf并创建一个合并pdf。在

这是这样做的:from reportlab.pdfgen import canvas, pycanvas

#create your canvas

p = pycanvas.Canvas(buffer,pagesize=PAGESIZE)

#...instantiate your pdf...

# after that, close the PDF object cleanly.

p.showPage()

p.save()

#now create the string equivalent of your canvas

source_code_equiv = str(p)

source_code_equiv2 = str(p)

#merge the two files on str. basis

#not shown how it is exactly done, to make it more easy to read the source

#actually one just have to take the middle part of source_code_equiv2 and add it into source_code_equiv

final_pdf = source_code_equiv_part1 + source_code_equiv2_center_part + source_code_equiv_part2

#write the source-code equivalent of the pdf

open("n2.py","w").write(final_pdf)

from myproject import n2

p = n2.doIt(buffer)

# Get the value of the StringIO buffer and write it to the response.

pdf = buffer.getvalue()

buffer.close()

response.write(pdf)

return response

这很好,但是我想跳过将n2.py保存到磁盘的步骤。因此,我正在寻找一种从最终的\u pdf字符串实例化相应的python类并直接在源代码中使用它的方法。这可能吗?在

它应该是这样工作的。。在

^{pr2}$

原因主要是不需要将源代码保存到磁盘上,其次,它绝对不是线程保存。我可以在运行时命名创建的文件,但是我不知道要导入什么!?如果无法阻止文件保存,是否有方法根据运行时定义的文件名定义导入!?在

有人可能会问我为什么不提前创建一个pdf,但这是不可能的,因为它们来自不同的应用程序。在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值