Python Tkinter uygulamasında fazladan frame oluşturma hatası

    def secme(secilensekme):
       
        
      

      
        print("Seçilen sekme:", secilensekme + 1)  
        
        global current_frame
        
        if secilensekme == 1:
           
            global sayi
            while True:
                son.pack_forget()  
                print("Burda*")
                if son.winfo_exists:
                    break
            

            son.pack()    
           
            
            login.geometry("600x450")
            gizle.pack_forget() 
            
            
            
           
            
                
            bilesen2 = ttk.Frame(
                son,
                width=595,
                height=500
            )
            bilesen2.pack()
            islem="TUTAR"
            liste = tk.Listbox(bilesen2, selectmode=tk.MULTIPLE)
            etiket = tk.Label(bilesen2, text="İŞLEM", font=("Arial", 14))
            etiket.place(relx=0.07,rely=0.05)
            etiket2 = tk.Label(bilesen2, text="KİŞİ", font=("Arial", 14))
            etiket2.place(relx=0.3,rely=0.05)
            etiket3 = tk.Label(bilesen2, text="ZAMAN", font=("Arial", 14))
            etiket3.place(relx=0.532,rely=0.05)
            etiket4 = tk.Label(bilesen2, text=islem, font=("Arial", 14))
            etiket4.place(relx=0.8,rely=0.05)
            liste = tk.Listbox(bilesen2, selectmode=tk.MULTIPLE)
            liste.insert(0,"")
            liste.insert(1,"")
            liste.place(x=45,y=60)
            liste.config(width=500,height=525)     
            if guncelle == True:
                lis=[islemadi,zaman]
                liste.insert(END, "                                                     ".join(str(nesne) for nesne in lis))
       
           
            
                         
        
            
        elif secilensekme == 0:
            gizle.pack()
            son.pack_forget()
          
           
            

    bilesenler.bind("<<NotebookTabChanged>>", lambda event: secme(bilesenler.index(bilesenler.select())))

Bu kod benim hazırladığım banka uygulamasının son işlemler yani son haraketler bölümünden bir kısım notepad modülünü kullanarak bunu yaptım ama son işlemler notebookunua her tıklayışımda yeni bir frame oluşturdu yaklaşık 3,5-4 saattir uğraştırıyor çok fazla yöntem denedim normalde son işlemlere tıkladığımda 1 kere oluşturulması gerekiyor framin ama 1.tıklamadan sonra sürekli yeni frame oluşturuyor sorunun farkındayım secim fonksiyonu her çağrışta yeniden packleniyor kaç kere döngü,if,else vs kullandım farklı denemler yaptım ama olmadı . yardımcı olacaklara şimdiden teşekkürler Python