Сценарий, который я написал, который объединяет несколько PDF-файлов в один, прекрасно работает на моем ПК, но, кажется, создает поврежденные PDF-файлы только на одном из моих коллег
Мне трудно отладить эту проблему, так как требуется доступ кего персональный компьютер.Тем не менее, я считаю, что проблема заключается в синхронизации между подпроцессом и моей функцией очистки временных файлов.Сценарий объединяет несколько отдельных PDF-файлов на диске с сетевым диском в один временный PDF-файл в одном месте.Затем он использует подпроцесс для копирования временного PDF-файла в местоположение по выбору пользователя (скажем, их рабочий стол в этом примере.) Однако следующая строка кода - это моя процедура очистки временного файла, в которой удаляются все PDF-файлы, кромескопировать на рабочий стол пользователя.Возможно ли, чтобы во время копирования выполнялась и удалялась процедура очистки?У меня есть основания полагать, что временные PDF-файлы создаются надлежащим образом, и, похоже, это происходит только на его компьютере.
Вот часть рассматриваемого сценария:
#Condense Seperate PDFs to Single PDF
writer = PdfWriter()
for pdf in pdfs:
if os.path.exists(pdf):
writer.addpages(PdfReader(pdf).pages)
pages = pages + 1
writer.write("tempFinal.pdf")
#Copy Final PDF to the Save Path (Users Desktop in this example)
subprocess.call('copy "tempFinal.pdf" "'+ savePath +'" /y', shell=True, stdout=DEVNULL, stderr=subprocess.DEVNULL)
#Clean-up all temp files.
deleteTemp()
Вот процедура очистки:
def cleanup(filename):
try:
os.remove(filename)
except OSError:
pass
def deleteTemp():
#pdfs is a list of the seperate PDF files
for pdf in pdfs:
cleanup(pdf)
cleanup("tempFinal.pdf")
cleanup("temp.dxf")
cleanup("plot.log")
cleanup("plot.scr")