Невозможно удалить папку после ее создания с помощью 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()
Вернуться на верх