PermissionError: [Errno 13] Permission denied hatası-Tkinter filedialog

Merhaba!

Başlangıç düzeyde Python kullanıcısıyım. İş yerimde zamandan tasarruf için Outlook üzerinden .msg dosyaları içerisinde yer alan HTML tabloları .csv’ye dönüştürerek veri analizi yapmak istiyorum. Bunun için bir arayüz inşa ederek .exe dosyası üzerinden pratikliğe kavuşturmak istedim. MSG to CSV dönüşümünü yapan kodlar* VS Code ile çalışıyor. Ancak bunu Tkinter aracılığıya VS Code üzerinden çalıştırdığımda " PermissionError: [Errno 13] Permission denied: ‘C:/Users/emiraksop/Desktop/Mayis’ " hatası alıyorum. Yaklaşık bir haftadır araştırıyorum ancak bir çözüm yolu bulamadım. Bu konularda yeni olduğum için de fazla bir deneme yapamadım.

Umarım bir çözüm yolu vardır.
Selamlar.

*How to Export Tables from Outlook Mail to Excel | FinTechChef | Python | Outlook to Excel - YouTube

import os

import win32com.client as wc

import pandas as pd

#import tkinter as tk ile yükleme yapılırsa; windows=tk.Tk() şeklinde bir yapı kullanmak gerekir.

from tkinter import *

from tkinter import filedialog

#Dosyaların hangi klasörde olduğu seçilir.

def openFile():

filepath1 = filedialog.askdirectory(initialdir = "C:\\Users\\emiraksop")

file1 = open(filepath1,"r")

print(file1.read())

file1.close()

#Dosyaların hangi klasöre kaydedileceği seçilir.

def saveFile():

filepath2 = filedialog.askdirectory(initialdir = "C:\\Users\\emiraksop")                                  

file2 = open(filepath2,'a') #a: append, r: read, w: write

print(file2.append())

file2.close()

#Outlok dosyalarından (.msg uzantılı) HTML içerikli tabloların .csv formatına dönüşümü

files = os.listdir()

for file in files:

if file.endswith(".msg"):

    outlook = wc.Dispatch('Outlook.Application').GetNamespace('MAPI')

    msg = outlook.OpenSharedItem(openFile + '/' + file)

    html_str = msg.HTMLBody

    try:

        pd.read_html(html_str)[0].to_csv(saveFile + '\\' + file[:-4] + '.csv', index = False)

    except ValueError:

        continue

#Pencere arayüz tasarımı

window = Tk()

#window.geometry(“400x400+50+100”)

canvas = Canvas(window, height=100, width=400)

canvas.pack()

window.title(’.msg html file to .csv’)

#my_font1=(‘times’, 18, ‘bold’)

#l1 = tk.Label(window, text=‘Upload File & read’, width=30, font=my_font1)

#l1.grid(row=1, column=1)

button1 = Button(text=“Open”, height=5, width=15, command=openFile)

#button1.grid(row=1,column=1)

button1.pack()

button2 = Button(text=“Save”,height=5, width=15, command=saveFile)

#button2.grid(row=2,column=1)

button2.pack()

window.mainloop()