Невозможно удалить папку после ее создания с помощью PyPDF2 - Python 3.10.1 и Django 4.0.6
Я создаю папку с PDF файлами в ней. Я использую PyPDF2 в Django. Все работает нормально, папка с файлами создается. Но после этого я не могу удалить ее без остановки работающего сервера. Выдается ошибка, что файл используется другим приложением.
Кто-нибудь знает, как я могу решить эту проблему?
Вот фрагмент кода, который создает папку с файлами pdf в ней:
# Merge Befunde
for folder in os.listdir(os.getcwd()):
mergeFile = PyPDF2.PdfFileMerger()
for filename in os.listdir(os.getcwd() + "\\" + folder):
if filename.endswith(".pdf"):
file = os.getcwd() + "\\" + folder + "\\" + filename
try:
mergeFile.append(PyPDF2.PdfFileReader(file))
except:
print("Error in", file)
else:
continue
mergeFile.write(folder + ".pdf")
mergeFile.close()
Я обнаружил, что возможно проблема не в файлах, которые я создаю с помощью библиотеки PyPDF2.
Сначала я создаю папку с модулем os. После этого я копирую и создаю в ней несколько PDF файлов. После завершения я хочу переименовать или переместить папку, но она выдает ошибку, что этот файл используется другим пользователем. Но я могу удалить или переименовать файлы, которые я создал в папке. После остановки сервера django проблема не возникает, и я могу делать все, что захочу.
try:
os.mkdir(folder_name)
except OSError as error:
pass
shutil.copy(path, dest)
newname = f"{x['parent_id']}_{x['prob_nr']}_{parameter}.pdf"
os.rename(dest + "\\" + datei, dest+ "\\" + newname)
# Merge Befunde
for folder in os.listdir(os.getcwd()):
mergeFile = PyPDF2.PdfMerger()
for filename in os.listdir(os.getcwd() + "\\" + folder):
if filename.endswith(".pdf"):
file = os.getcwd() + "\\" + folder + "\\" + filename
try:
mergeFile.append(file)
except:
print("Error in", file)
else:
continue
mergeFile.write(folder + ".pdf")
mergeFile.close()