Я пытаюсь передать список переменных с именем checks функции installFunc, и по какой-то причине она не работает, вот что я (думаю) соответствующий код:
def installFunc(checks):
subprocess.call("md c:\MGInstall", shell=True)
subprocess.call (u"net use w: \\it01\files")
if checks[0] == 1:
subprocess.call(u"w:\\software\\snagitup.exe")
if checks[1] == 1:
subprocess.call(u"w:\\software\\camtasia.exe")
if checks[2] == 1:
urllib.urlretrieve(u"LONGURL", u"c:\\MGinstall\\gotomeeting.exe")
subprocess.call (u"c:\\MGinstall\\gotomeeting.exe")
if checks[3] == 1:
sixtyfourcheck()
if is64bit == True:
urllib.urlretrieve(u"LONGURL", u"c:\\MGinstall\\tortoiseSVN.exe")
elif is64bit == False:
urllib.urlretrieve(u"LONGURL", u"c:\\MGinstall\\tortoiseSVN.exe")
#urllib.urlretrieve(u"LONGURL", u"c:\\MGinstall\\MGinstall.exe")
#subprocess.call (u"c:\\MGinstall\\MGinstall.exe")
#subprocess.call (u"w:\\printers\\installer\\printer.exe")
app = Tk()
w = Label(app, text="IT Automatic Installer")
w.pack()
text = ["Snagit", "Camtasia", "GotoMeeting", "TortoiseSVN"]
variables = []
for name in text:
variables.append(IntVar())
Checkbutton(text=name, variable=variables[-1]).pack()
checks = [variable.get() for variable in variables]
b = Button(text="Install", command= lambda : installFunc(checks))
b.pack()
app.mainloop()
Теперь я пробовал несколько разных вещей - часть лямбы, которую я фактически получил от переполнения стека - у меня небольшие проблемы с пониманием того, как это работает.
Но большая проблема, с которой я сталкиваюсь, заключается в том, почему проверки не передаются в installFunc()? Я хочу, чтобы полный список проверок (столько элементов, сколько я вложил в него) передавался в installFunc().
lambda checks : installFunc(checks)
или что-то в этом роде. - person Silas Ray   schedule 24.05.2012lambda c=checks: installFunc(c)
, хотя я не уверен, что должен делать ваш код... Должен лиchecks
измениться? - person jadkik94   schedule 24.05.2012checks
не изменится. Вы должны передатьvariables
и манипулировать этим. я опубликую ответ - person jadkik94   schedule 24.05.2012