首先匯入需要的庫和路徑設定
import os接著獲取所有pdf檔案的絕對路徑,這裡需要利用from pypdf2 import pdffilereader, pdffilewriter
if __name__ == '__main__':
# 設定存放多個pdf檔案的資料夾
dir_path = r'c:\scientific research\knowladge\ophthalmology\chinese ophthalmology'
# 目標檔案的名字
file_name = "中華眼科學(第3版)合併版.pdf"
os
庫中的os.walk
遍歷檔案和os.path.join
拼接路徑
for dirpath, dirs, files in os.walk(dir_path):print(dirpath)
print(files)
# 結果返回當前路徑、當前路徑下資料夾,並以列表返回所有檔案
建議直接將需要合併的pdf放在乙個資料夾,這樣就無需再對檔案字尾進行判斷,包裝成函式後如下:
def getfilename(dir_path):現在建立合併pdf的函式file_list = [os.path.join(dirpath, filesname) \
for dirpath, dirs, files in os.walk(dir_path) \
for filesname in files]
return file_list
def mergepdf(dir_path, file_name):# 例項化寫入物件
output = pdffilewriter()
outputpages = 0
# 呼叫上乙個函式獲取全部檔案的絕對路徑
file_list = getfilename(dir_path)
for pdf_file in file_list:
print("檔案:%s" % pdf_file.split('\\')[-1], end=' ')
# 讀取pdf檔案
input = pdffilereader(open(pdf_file, "rb"))
# 獲得源pdf檔案中頁面總數
pagecount = input.getnumpages()
outputpages += pagecount
print("頁數:%d" % pagecount)
# 分別將page新增到輸出output中
for ipage in range(pagecount):
output.addpage(input.getpage(ipage))
print("\n合併後的總頁數:%d" % outputpages)
# 寫入到目標pdf檔案
print("pdf檔案正在合併,請稍等......")
with open(os.path.join(dir_path, file_name), "wb") as outputfile:
# 注意這裡的寫法和正常的上下文檔案寫入是相反的
output.write(outputfile)
print("pdf檔案合併完成")
可以看到雖然待合併的pdf檔案比較大,但是依舊快速的合併成功!
Python一鍵多值
import csv file path f jddata classify300.csv csvfile file file path,rb reader csv.reader csvfile 初始化字典 adict dict 遍歷csv檔案裡的每一行資料,其中imagename為資料的第一列,c...
泊車嚮導 一鍵搞定停車 找車
應用名稱 泊車嚮導 支援平台 ios 0.99 利用全球衛星定位技術,泊車嚮導可以快速定位使用者的停車地點。使用者停好車後,只要開啟泊車嚮導,按下 停車 按鈕,系統就會自動記錄下停車位置和時間。自帶的計時器功能會精確記錄本次停車的時間,以免被惡意收費。辦完事情,走進偌大的停車場,不需要東張西望,四處...
智慧型電飯煲自動洗公尺手機操控一鍵搞定
隨著物聯網和軟體技術的快速發展,輕鬆便捷的煮飯方式越來越受人們青睞,智慧型 環保 節能型高階電飯鍋將會成為未來備受矚目的商品,特別是可遠端控制的全自動智慧型電飯鍋將會成為未來發展的方向。目前國內外對智慧型家居的技術研究較多,多數是用無線資料傳輸技術實現,但系統設計成本高。而對電飯鍋的全自動化技術研究...