【发布时间】:2013-09-27 04:18:34
【问题描述】:
我正在尝试在 python 中编写一个程序,该程序获取一个 PDF 文件并首先将任何包含水果名称的 pdf 附加到它(芒果、橙子或苹果),然后在 pdf 中附加名称动物到原始文件(斑马,猴子,狗),最后附加任何剩余的PDF。这是我的代码:
import os
from PyPDF2 import PdfFileReader, PdfFileMerger
originalFile="C:/originalFile.pdf"
merger = PdfFileMerger()
merger.append(PdfFileReader(file(originalFile, 'rb')))
os.remove(originalFile)
for filename in os.listdir('C:/'):
if "Mango" in filename or "Apple" in filename or "Orange" in filename:
if ".pdf" in filename:
merger.append(PdfFileReader(file('C:/'+filename, 'rb')))
os.remove("C:/"+filename)
for filename in os.listdir('C:/'):
if "Zebra" in filename or "Monkey" in filename or "Dog" in filename:
if ".pdf" in filename:
merger.append(PdfFileReader(file('C:/'+filename, 'rb')))
os.remove("C:/"+filename)
for filename in os.listdir('C:/'):
if ".pdf" in filename:
merger.append(PdfFileReader(file('C:/TRIAL/'+filename, 'rb')))
os.remove("C:/TRIAL/"+filename)
merger.write(originalFile)
当我运行这个程序时,我得到以下错误:
os.remove(原始文件) WindowsError: [错误 32] 进程无法访问该文件,因为它正被另一个进程使用:'C:/originalFile.pdf'
谁能解释我将文件添加到合并文件后如何关闭它?
【问题讨论】: