簡體   English   中英

如何使用 pdf 文件的屬性制作 Python object 文件?

[英]How to make a Python object with an attribute that is a pdf file?

我想在 python 文件中逐項列出我工作的所有文書工作。 所以我想制作一個 object,其中包括客戶姓名、工作編號、位置,最后是實際文書工作的 pdf 文件。 如何將 pdf 文件作為屬性附加到 python object?

您可以將 PDF 文件的數據作為原始字節讀取,並將它們存儲在 class 屬性中。 然后,如果您想再次將存儲的字節另存為 PDF 文件,您只需將字節寫入文件即可。 請記住,您讀取的所有 PDF 都將存儲在 memory (RAM) 中。 如果要備份文件,最好將它們復制或移動到文件夾中,並將該路徑保留為屬性。 您可以使用 shutil 模塊移動或復制文件。

如果您希望程序持續運行並始終保持這些對象處於活動狀態,那么如果您想以這種方式存儲 10 GB 的 PDF,那么您將很快遇到 memory 的問題。

“我想在 python 文件中逐項列出我工作的所有文書工作。” 這句話讓我相信你誤解了它是如何工作的。 如果您將 PDF 文件的內容分配給 object 的屬性,則僅在腳本運行期間。 腳本一結束,object 就消失了。 您不能“將其保存在 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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM