нет не работающих методов в питон 3.6 , просто вы их не умеете готовить. и просто записать словарь в том виде который вы понимаете как словарь в коде в файл не получиться. файл надо переписывать так как дозапись будет каждый раз добавлять словарь с новыми данными а не изменять уже записанный
from tkinter import *
import json
import os
#------------------------------------------------------------------------------------
def zapis(x,y,dct):
dct.update({x : y})
dct.update({y : x})
with open('text2.txt', 'w') as f:
f.write(json.dumps(dct))
#----------------------------------------------------------------------------------------------------
def poisk(z,dct):
t.delete('1.0', END)
if z in dct:
t.insert(END,dct[z])
else:
t.insert(END,'нет результата')
#-----------------------------------------------------------------------------------------------------
dct = {}
if 'text2.txt' in os.listdir():
with open('text2.txt', 'r') as f:
dct = json.loads(f.read())
#----------------------------------------------------------------------------------------------------
root = Tk()
root.title("Dictionary")
x = StringVar() # Creating the variables that will get the user's input.
y = StringVar()
z = StringVar()
label_1 = Label(root, text="Русский: ", bg="#333333", fg="white")
label_2 = Label(root, text="English:", bg="#333333", fg="white")
label_3 = Label(root, text="Поиск:", bg="#333333", fg="white")
entry_1 = Entry(root, textvariable=x)#Russian
entry_2 = Entry(root, textvariable=y)#English
entry_3 = Entry(root, textvariable=z)#Poisk
t=Text(root,width=15,height=1)
label_1.grid(row=1)
label_2.grid(row=3)
label_3.grid(row=8)
entry_1.grid(row=2, column=0)
entry_2.grid(row=4, column=0)
entry_3.grid(row=9, column=0)
t.grid(row=14,column=0)
but = Button(root, text="Добавить/Add", bg="#333333", fg="white", command=lambda :zapis(x.get(), y.get(),dct)) # Note the use of lambda and the x and y variables.
but.grid(row=5, column=0)
but1=Button(root,text='Искать',bg="#333333", fg="white", command=lambda :poisk(z.get(),dct))
but1.grid(row=12,column=0)
root.mainloop()