defstr_to_int(str):'''
Convert string to int
param:: "str": string
return:: "x":int
'''
str1 = re.sub(' ','',str)print(str1)assert str1.isdigit(),"Please input the current index!"
x =[]
slen =len(str)
i =0
s =0
f =0while i<slen:ifstr[i]!=" ":
f =1
s = s*10+int(str[i])elifstr[i]==" ":if f ==1:
x.append(s)
s =0
i = i+1if s!=0:if f==1:
x.append(s)return x
2 、pdf_file_list()函数:pdf文件搜索函数
defpdf_file_list(fpath):"""
Get paths of all pdf files
param:: "fpath":The root path
return:: "pdf_paths":The paths of all pdf files
"""assert os.path.exists(fpath),'The folder path does not exist'
pdf_paths =list()for root, dirs, files in os.walk(fpath):forfilein files:iffile.endswith('.pdf'):
pdf_paths.append(os.path.join(root,file))return pdf_paths
3、pdf_merge()函数:pdf拼接函数
defpdf_merge(fpath):"""
Merge the pdf files
param:: "fpath":The paths of pdf
return:: None
"""
fmerge = PyPDF2.PdfFileMerger()for pdf in fpath:
fmerge.append(pdf)
fmerge.write('result.pdf')
二、全部代码
from importlib.resources import path
from operator import length_hint
import re
import PyPDF2
import os
from numpy import append
from requests import patch
defpdf_file_list(fpath):"""
Get paths of all pdf files
param:: "fpath":The root path
return:: "pdf_paths":The paths of all pdf files
"""assert os.path.exists(fpath),'The folder path does not exist'
pdf_paths =list()for root, dirs, files in os.walk(fpath):forfilein files:iffile.endswith('.pdf'):
pdf_paths.append(os.path.join(root,file))return pdf_paths
defpdf_merge(fpath):"""
Merge the pdf files
param:: "fpath":The paths of pdf
return:: None
"""
fmerge = PyPDF2.PdfFileMerger()for pdf in fpath:
fmerge.append(pdf)
fmerge.write('result.pdf')defstr_to_int(str):'''
Convert string to int
param:: "str": string
return:: "x":int
'''
str1 = re.sub(' ','',str)print(str1)assert str1.isdigit(),"Please input the current index!"
x =[]
slen =len(str)
i =0
s =0
f =0while i<slen:ifstr[i]!=" ":
f =1
s = s*10+int(str[i])elifstr[i]==" ":if f ==1:
x.append(s)
s =0
i = i+1if s!=0:if f==1:
x.append(s)return x
defpdf_choose(fpath):'''
Choose the merged pdf
param:: "fpath" :The paths of pdf
return:: "pdf_path":The paths of merged pdf
'''for i inrange(len(fpath)):print(i,fpath[i])print("Please input the index of merged pdf!")
x =[]
pdf_path =[]
x =input()
xi = str_to_int(x)print(xi)
xlen =len(xi)
flen =len(fpath)for i inrange(0,xlen):print(int(xi[i]),flen)assert(int(xi[i])< flen),"Please input the current index!"for i inrange(0,xlen):
pdf_path.append(fpath[xi[i]])return pdf_path
fpath = pdf_file_list('D:')
fpath = pdf_choose(fpath)
pdf_merge(fpath)
一、单个函数1、str_to_int()函数:将input()输入的字符串转化为intdef str_to_int(str): ''' Convert string to int param:: "str": string return:: "x":int ''' str1 = re.sub(' ','',str) print(str1) assert str1.isdigit(),"Please input the current i