Я использую os.walk (), чтобы получить пути к файлам из каталога.мой код работает нормально, когда я использую его в utils.py, но как только я помещаю его в функцию index () в rout.py, я получаю IndexError: list index вне диапазона при попытке получить имена из списка.
utils.py
menu_image_list = []
for root, dirs, files in os.walk('static/img/menu/'):
for filename in files:
x = os.path.join(root, filename)
menu_image_list.append(x)
print(menu_image_list[0])
вывод: статический / img / menu / image_1.jpg
rout.py
@app.route("/", methods=['GET', 'POST'])
def index():
# Handling Twitter
# Handling image file names
menu_image_list = []
for root, dirs, files in os.walk('static/img/menu/'):
for filename in files:
x = os.path.join(root, filename)
menu_image_list.append(x)
menu_image1 = menu_image_list[0]
menu_image2 = menu_image_list[1]
menu_image3 = menu_image_list[2]
menu_image4 = menu_image_list[3]
# Handling email contact form
return render_template('index.html', image1=menu_image1, image2=menu_image2, image3=menu_image3, image4=menu_image4)
Я удалил неактуальный кодв rout.py, но сохранил комментарии, чтобы объяснить, почему я использую ['GET', 'POST']
, поэтому я предполагаю, что это проблема с flask ... Я также пытался превратить этот код вКласс и импортировать его из utils.py как класс, но это не сработало.Я также попытался просто импортировать список из колбы, которая также не работала.Каждый из них дал одну и ту же ошибку.