I am trying to pull data from a Tkinter entry into a variable to use later - I'm currently trying to print it to shell for testing purposes - however, whenever I try and print the variable to shell it says "pname not defined" - pname being the name of the variable.
Code:
# Imports necesary modules
import sys, os, time
import winsound as ws
import tkinter as tk
# Creates window
gui = tk.Tk()
gui.title('Tiemer Niptus')
gui.geometry('1920x1080')
gui.configure(bg='#572f87')
#gui.wm_iconbitmap('resources\images\icon.ico')
# Defines prerequisite functions
def gt_play():
    ws.PlaySound('resources\sound\gt.wav', ws.SND_FILENAME|ws.SND_LOOP|ws.SND_ASYNC)
def win_play():
    ws.PlaySound('resources\sound\win.wav', ws.SND_FILENAME|ws.SND_LOOP|ws.SND_ASYNC)
def dth_play():
    ws.PlaySound('resources\sound\dth.wav', ws.SND_FILENAME|ws.SND_LOOP|ws.SND_ASYNC)
def snd_stop():
    ws.PlaySound(None, ws.SND_FILENAME|ws.SND_PURGE)
def death():
    dth_play()
    gui.configure(bg='#000000')
    
    dth_lbl = tk.Label(text='YOU HAVE DIED', font = ['Helvetica', 60], bg='#000000', fg='#a50b29')
    dth_lbl.pack()
    dth_lbl.place(x=950, y=370, anchor="center")
    dth_btn = tk.Button(text='TRY AGAIN?', font = ['Helvetica', 60], bg='#a50b29', fg='#000000',
                        command = lambda:[dth_lbl.destroy(), dth_btn.destroy(), snd_stop(), str_screen()])
    dth_btn.pack()
    dth_btn.place(x=950, y=500, anchor="center")
def win():
    win_play()
    gui.configure(bg='#1dcc0d')
    
    win_lbl = tk.Label(text='YOU HAVE WON!', font = ['Helvetica', 60], bg='#1dcc0d', fg='#ffd700')
    win_lbl.pack()
    win_lbl.place(x=950, y=370, anchor="center")
    win_btn = tk.Button(text='PLAY AGAIN?', font = ['Helvetica', 60], bg='#1dcc0d', fg='#ffd700',
                        command = lambda:[win_lbl.destroy(), win_btn.destroy(), snd_stop(), str_screen()])
    win_btn.pack()
    win_btn.place(x=950, y=500, anchor="center")
# Defines stage functions
def str_screen():
    gt_play()
    gui.configure(bg='#572f87')
    
    str_lbl = tk.Label(text='TIEMER NIPTUS', font = ['Helvetica', 60], fg='#00ffab', bg='#572f87')
    str_lbl.pack()
    str_lbl.place(x=950, y=350, anchor="center")
    str_btn = tk.Button(text='START', font = ['Helvetica', 50], bg='#7d0234', fg='#00ffab', width = 15,
                        command = lambda:[str_lbl.destroy(), str_btn.destroy(), name_select()])
    str_btn.pack()
    str_btn.place(x=950, y=475, anchor="center")
def name_select():
    pname_lbl = tk.Label(text='INPUT NAME', fg='#00ffab', font = ['Helvetica', 50], bg='#572f87')
    pname_lbl.pack()
    pname_lbl.place(x=950, y=340, anchor="center")
    pname_ent = tk.Entry(bg='#00ffab', fg='#7d0234', font = ['Helvetica', 40], width = 14)
    pname_ent.pack()
    pname_ent.place(x=950, y=415, anchor="center")
    pname = pname_ent.get()
    
    go_btn = tk.Button(text='GO', font = ['Helvetica', 25], bg='#7d0234', fg='#00ffab', width = 21,
                       command = lambda:[snd_stop(), pname_lbl.destroy(), pname_ent.destroy(), go_btn.destroy(), street()])
    go_btn.pack()
    go_btn.place(x=950, y=490, anchor='center')
 
def street():
    print(pname)
    
# Draws window and starts game
str_screen()
gui.mainloop()
Error:
Exception in Tkinter callback
Traceback (most recent call last):
  File "C:\Users\lucas\AppData\Local\Programs\Python\Python35\lib\tkinter\__init__.py", line 1550, in __call__
    return self.func(*args)
  File "C:\Users\lucas\Desktop\Program\TiemerNiptus.py", line 77, in <lambda>
    command = lambda:[snd_stop(), pname_lbl.destroy(), pname_ent.destroy(), go_btn.destroy(), street()])
  File "C:\Users\lucas\Desktop\Program\TiemerNiptus.py", line 82, in street
    print(pname)
NameError: name 'pname' is not defined
 
     
    