Hii У меня есть требование вызвать переменную в функции, которая имеет объявление и определение в другой функции. Может ли кто-нибудь мне помочь.Вызов переменной в python
import sys
import os
import tkMessageBox
from Tkinter import *
from tkCommonDialog import Dialog
import shutil
import tkFileDialog
import win32com.client
win = Tk()
win.title("Copying the Directory to specified location")
win.geometry("600x600+200+50")
win.resizable()
global src
global des
class Copy():
#global src
#global des
def __init__(self):
def srce():
src = tkFileDialog.askdirectory(title = "The source folder is ")
textboxsrc.delete(0,END)
textboxsrc.insert(0,src)
print src
return src
textboxsrc = Entry(win, width="70")
textboxsrc.insert(0,'Enter master file name')
textboxsrc.pack()
textboxsrc.place(relx=0.40, rely=0.06, anchor=CENTER)
bu = Button(text = "Source",font = "Verdana 12 italic bold",bg = "Purple",fg= "white", command= srce)
bu.pack(fill =X, expand=YES)
bu.place(relx=0.85, rely=0.06, anchor=CENTER)
def dest():
des = tkFileDialog.askdirectory(title = "TheDestination folder is ")
textboxdes.delete(0,END)
textboxdes.insert(0,des)
print des
return des
textboxdes = Entry(win, width="70")
textboxdes.insert(0,'Enter master file name')
textboxdes.pack()
textboxdes.place(relx=0.40, rely=0.13, anchor=CENTER)
bu1 = Button(text = "Destination",font = "Verdana 12 italic",bg = "Purple",fg= "white", command= dest)
bu1.pack(fill =X, expand=YES)
bu1.place(relx=0.85, rely=0.13, anchor=CENTER)
def start():
#global src
#global des
#abc = os.path.dirname(src)
#dgh = os.path.dirname(des)
try:
shutil.copy(src,des)
except :
tkMessageBox.showwarning("Copying file", "Error while copying\n(%s)")
bn =Button(text = "Copy",font = "Verdana 12 italic", bg = "Purple",fg= "white",command=start)
bn.pack(fill =X, expand = YES)
bn.place(relx=0.50, rely=0.25, anchor=CENTER)
obj= Copy()
#obj.source(win)
#obj.destination(win)
win.mainloop()
Здесь я получаю сообщение об ошибке в функции start(). давая мне проблему принятия переменных src и des.
Что вы имеете в виду "вызов переменной"? Переменная содержит ссылку на функцию? Можете ли вы опубликовать какой-то пример кода того, что вы пытаетесь сделать? – Cameron
На самом деле я хочу, чтобы строка была назначена переменной в другой функции. –
Вероятно, вы должны использовать глобальную переменную. Или ваша первая функция вернет значение этой переменной и передаст ее второй функции, которая ее требует. –