Как отобразить файлы из ftp в кнопках kivy
Мне необходимо отобразить файлы по кнопкам,сколько файлов,столько и кнопок Здесь я применил ftp-list[index - 1] Но как сделать так чтобы количество кнопок совпало с количеством файлов на сервере?
При компиляции кода мне выдает ошибку list index out of range т.к второго файла на сервере нет
import kivy
from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.gridlayout import GridLayout
from ftplib import FTP
ftp = FTP('myftpserver')
ftp.login('mylogin', 'mypass')
try:
ftp.mkd('folder')
except Exception:
print('Directory exists')
ftp.cwd('folder')
class MyApp(App):
def cd(self, event):
print('click1')
def cd2(self, event):
print('click2')
def cd3(self, event):
print('click3')
def cd4(self, event):
print('click4')
def build(self):
bl = GridLayout(cols=3, spacing=10)
ftp_list = [i for i in ftp.nlst()]
bl.add_widget( Button(text=ftp_list[1 - 1], on_press = self.cd))
bl.add_widget( Button(text=ftp_list[2 - 1], on_press = self.cd2))
bl.add_widget( Button(text=ftp_list[3 - 1], on_press = self.cd3))
bl.add_widget( Button(text=ftp_list[4 - 1], on_press = self.cd4))
return bl
if __name__ == '__main__':
MyApp().run()