#python #pdf
#python #PDF
Вопрос:
У меня есть код, который генерирует документы word из файла Excel с помощью mailmerge, а затем преобразует документы word в PDF, а затем из PDF в PNG. Я ищу способ удаления документов word после создания PDF-файлов и удаления PDF-файлов после создания файлов PNG.
Ниже приведен код, с которым я работаю:
#Code for the conversion from docx to pdf
wdFormatPDF = 17
basepath="C:/Users/.../images"
os.chdir(base_path)
with os.scandir(base_path) as entries:
for entry in entries:
if entry.is_file() and (entry.name[-4:]=="docx"):
in_file=base_path entry.name
out_file=base_path entry.name[:-4] "pdf"
word = win32com.client.DispatchEx('Word.Application')
doc = word.Documents.Open(in_file)
doc.SaveAs(out_file, FileFormat=wdFormatPDF)
doc.Close()
print("Document " out_file " created !!!")
#word.Quit()
word.Quit()
#Code for the conversion from pdf to png
basepath="C:/Users/.../images"
os.chdir(basepath)
with os.scandir(basepath) as entries:
for entry in entries:
if entry.is_file():
if entry.name[-3:]=="pdf":
input_filename=basepath entry.name
images=convert_from_path(input_filename)
for i, image in enumerate(images):
fname=entry.name[:-4] ".PNG"
image.save(fname,"PNG")
print("Document " fname " created !!!n")
Комментарии:
1. Вы можете использовать
os.remove()
для удаления любого файла. Итак, после того, как вы закончили создавать документы, просто просмотрите исходные файлы и используйте эту функцию, чтобы удалять их один за другим.
Ответ №1:
Вы должны сохранить ссылки на файлы в переменной, а затем просто удалить ее, когда они больше не понадобятся:
import os
os.remove("/link/to/the/file.pdf")
Или, если вы уверены, что в каталоге нет других файлов pdf / docx:
import os
for filename in os.listdir(directory):
if filename.endswith(".pdf") or filename.endswith(".docx"):
os.remove(filename)