in meinem Code habe ich ein Permission denied Error, obwohl ich
Code: Alles auswählen
with open()
benutze. Ich habe bisher versucht, die Datei zu schließen um sie dann erneut wieder öffnen zu können.
Im Netz habe ich gelesen, dass das automatisch geschehen soll, eben mit with open(...).
Hier ein Auszug aus meinem Code:
Code: Alles auswählen
def popup_window(self, name, message, duplicat_lst):
if duplicat_lst is None:
ctypes.windll.user32.MessageBoxW(0, message, "WARNUNG", 48)
else:
pdf_path = os.path.join(self.desktop_path, name)
pdfWriter = PyPDF2.PdfFileWriter()
dublikat_message = f'{message}\n\n\n'
for duplikat in duplicat_lst:
dublikat_message += f'{duplikat}\n\n'
warning_ok_pressed = ctypes.windll.user32.MessageBoxW(0, dublikat_message, "WARNUNG", 48)
if warning_ok_pressed:
for duplicat in duplicat_lst:
pdf1File = open(duplicat, 'rb')
pdf1Reader = PyPDF2.PdfFileReader(pdf1File)
for pageNum in range(pdf1Reader.numPages):
pageObj = pdf1Reader.getPage(pageNum)
pdfWriter.addPage(pageObj)
with open(pdf_path, 'wb') as pdfOutputFile:
pdfWriter.write(pdfOutputFile)
pdfOutputFile.close()
pdf1File.close()
Code: Alles auswählen
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Program Files\Python310\lib\tkinter\__init__.py", line 1921, in __call__
return self.func(*args)
File "C:\Users\dmd__\Documents\Programmierung\PyCharm\Barcode Finder\Barcode_Verwaltung.py", line 101, in get_key
self.search_barcode.search_barcode(self.barcode)
File "C:\Users\dmd__\Documents\Programmierung\PyCharm\Barcode Finder\Search_Barcode.py", line 49, in search_barcode
self.popup_window(document_name, "Es gibt leider (ein) Duplikat(e)!", lst_barcode)
File "C:\Users\dmd__\Documents\Programmierung\PyCharm\Barcode Finder\Search_Barcode.py", line 87, in popup_window
with open(pdf_path, 'wb') as pdfOutputFile:
PermissionError: [Errno 13] Permission denied: 'C:\\Users\\dmd__\\Desktop\\4306188362562.pdf'