请问该在哪里关闭open的文件

我需要每次合并完pdf文件以后将源pdf删除,这需要我将open的pdf文件close掉。
但是如果按图片中在循环中close的话,我合并出来的pdf会全为空白。
也就是说我应该在合并完之后再进行删除,请问我该如何编写

def merge_pdf(name,file_all,target_path):
    total=PdfFileWriter()
    totalPages=0
    for pdf_file in file_all:                  
        print(pdf_file)            
        #读取pdf文件
        pic=open(pdf_file,'rb')            
        input_pdf=PdfFileReader(pic)
        #获取pdf总页数
        pagecount=input_pdf.getNumPages()
        print(pagecount)
        totalPages+=pagecount
        #遍历每个pdf文件
        for iPage in range(pagecount):
            #将每一页合并过去
            total.addPage(input_pdf.getPage(iPage))
        pic.close()
#             os.remove(pdf_file)    
    print(totalPages,'份pdf文件合并中......')
    target_name=name+'.pdf'
    
    new=os.path.join(target_path,target_name)
    with open(new,'wb') as outputfile:
        total.write(outputfile)

把写入操作转移到循环内部,这样就可以每次写完关闭了

你过你不加close,合并出来的不是空白嘛?总感觉顺序不对,应该先打开一个pdf对象,然后向这个文件里面写入,