亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 print() 函數時 Python 不會顯示文本

使用 print() 函數時 Python 不會顯示文本

夢里花落0921 2022-10-18 17:35:09
我正在嘗試使用 pdfminer。我找到了一個代碼片段,我想在進一步檢查之前嘗試一下。此代碼的目標是從 .pdf 中提取文本并將其存儲在 str 對象中。它工作得很好,它從 pdf 文檔中提取文本,當我嘗試打印 str 時出現問題。它什么也不打印。str 確實包含文本,print(text[0:10])例如,我可以打印其中的一部分。它還將打印整個內容,print(text[0:len(s)-1])我也可以將其寫入文件而不會出現任何問題。只有該print()功能不能單獨工作。它是帶有 utf-8 編碼的標準 str 。當我將 .pdf 的內容寫入字節對象,然后將其轉換為 str 時,我得到了相同的結果。雖然 python 可以毫無問題地打印字節對象。這也不是 IDE 問題,我在 Spyder 和 VS Code 中都得到了相同的結果。任何建議都會受到歡迎。這是我使用的代碼(如果我嘗試打印變量 s,沒有任何反應):import iofrom pdfminer.converter import TextConverterfrom pdfminer.pdfinterp import PDFPageInterpreterfrom pdfminer.pdfinterp import PDFResourceManagerfrom pdfminer.pdfpage import PDFPagedef extract_text_from_pdf(pdf_path):    resource_manager = PDFResourceManager()    fake_file_handle = io.StringIO()    converter = TextConverter(resource_manager, fake_file_handle)    page_interpreter = PDFPageInterpreter(resource_manager, converter)    with open(pdf_path, 'rb') as fh:        for page in PDFPage.get_pages(fh,                                       caching=True,                                      check_extractable=True):            page_interpreter.process_page(page)        text = fake_file_handle.getvalue()    converter.close()    fake_file_handle.close()    if text:        return textif __name__ == '__main__':    s = extract_text_from_pdf('mypdf.pdf')
查看完整描述

1 回答

?
森林海

TA貢獻2011條經驗 獲得超2個贊

答:這段代碼可以正常工作。


不知道如何幫助你。您收到的錯誤信息是什么?您的 .pdf 文件大小是多少?進程是否以退出代碼 0 結束?該過程是否永遠不會完成并且您必須終止?


我將您的代碼放在 PyCharm 中,并在“復雜”pdf 和“簡單”pdf 上運行。(在運行它之前我必須采取的唯一步驟是確保安裝了 pdfminer,我假設你也這樣做了。)


“復雜”的 pdf 花了很長時間(24 頁帶圖形等)。Windows 任務管理器向我保證它正在運行。

“簡單”的 pdf 需要幾秒鐘。

一些打印語句確認每一頁都是“得到”的:


        for page in PDFPage.get_pages(fh, caching=True, check_extractable=True):

            print(type(page))

            print(page)


查看完整回答
反對 回復 2022-10-18
  • 1 回答
  • 0 關注
  • 159 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號