如何使Python对象的属性为pdf文件?

2024-04-19 08:18:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在一个python文件中详细列出我工作的所有文件。因此,我想制作一个对象,其中包括客户名称、工作编号、位置,最后是实际文书工作的pdf文件。如何将pdf文件作为属性附加到python对象


Tags: 文件对象名称客户属性pdf编号文书工作
1条回答
网友
1楼 · 发布于 2024-04-19 08:18:26

您可以将PDF文件的数据读取为原始字节,并将其存储在类属性中。然后,如果要将存储的字节再次保存为PDF文件,可以将字节写入文件。请记住,您这样读入的所有PDF都将存储在内存(RAM)中。如果要备份文件,最好将其复制或移动到文件夹中,并将该路径保留为属性。您可以使用shutil模块移动或复制文件

如果你想让你的程序持续运行并始终保持这些对象的活力,那么如果你想以这种方式存储10 GBs的PDF,你的内存就会很快出现问题

“我想在python文件中详细列出我工作的所有文件。” 这句话让我相信你误解了它的工作原理。如果将PDF文件的内容指定给对象的属性,这将仅在脚本运行时进行。脚本一结束,对象就消失了。您不能“将其保存在Python文件中”。(虽然您可以将PDF编码为base64,如果您真的需要,可以在python文件中硬编码该字符串,但这可能不是您的目标)

也就是说,这里有一个可行的方法:

class YourClass:
   
   def __init__(self, name, job_num, location, pdf_path):
      self.name = name
      self.job_num = job_num
      self.location = location
      self.pdf_data = self.get_pdf_data(pdf_path)

   def get_pdf_data(self, pdf_path):
      with open(pdf_path, 'rb') as file:
         data = file.read()
      return data

   def save_pdf(self, pdf_path):
      with open(pdf_path, 'wb') as file:
         file.write(self.pdf_data)

相关问题 更多 >