好吧,现在我正在使用ftp为我的应用程序下载文件,但问题是代码,因为它在我启动程序时下载文件,当我点击下载按钮时什么都不做
# Handlers for MainFrameBase events.
def DownloadButtonClick( ftp,directory,file ):
ftp.cwd(directory)
f = open(file,"wb")
ftp.retrbinary("RETR " + file,f.write)
f.close()
ftp = ftplib.FTP("ftp.apkmultitool.com")
ftp.login("adkesoapp@apkmultitool.com", "adkesoapp")
DownloadButtonClick(ftp, "", "testfile.txt")
我正在使用wxbuilder为我的应用程序设计GUI,我是python的新手,我试过Google寻找我的答案,但没有提出任何问题 我也想要按下按钮时它将检查文件,如果已存在,它将附加到文档而不是覆盖。
我可能只是废弃这个想法并从文本文件的原始链接下载,因为你怀疑我可以将文件上传回服务器并让它做检查并修改它 但我也不希望它导致重复的条目,所以任何建议,以防止这可能是最好的自己的问题,但这是我最终想要完成的基础
如果您想查看完整的来源
答案 0 :(得分:0)
以下是使用按钮创建GUI的代码段。单击按钮时,您会注意到它只是在控制台中打印Clicked
。您可以将FTP代码放在那里,以便在您点击按钮时开始FTP内容。
<强>代码:强>
import wx
class Frame(wx.Frame):
def __init__(self, parent, id, title):
wx.Frame.__init__(self, parent, id, title, style=wx.DEFAULT_FRAME_STYLE)
myPanel = wx.Panel(self,-1)
myButton = wx.Button(myPanel, -1, 'Download', size=(100,50), pos=(20,20))
myButton.Bind(wx.EVT_LEFT_DOWN, self.onClick)
self.Show(True)
def onClick(self, e):
print 'Clicked'
#Put your code here that you
#want to get executed when ever
#you click the button.
#Eg: call your method from here
#DownloadButtonClick(ftp, "", "testfile.txt")
app = wx.App()
frame = Frame(None, wx.ID_ANY, 'Image')
app.MainLoop()
这是一款简单的应用。如果你想并行做更多的东西,你可能想使用线程。