#python #fasttext
#python #fasttext
Вопрос:
Может ли способ настройки структуры каталогов проекта изменить способ функционирования кода?
В частности, у меня есть проект, в котором я загружаю и использую быструю текстовую модель. файл, который я использую, находится в src
папке, в то время как модель находится в models
папке. Эти папки находятся на одном уровне иерархии.
При запуске этой строки кода, которая выходит из папки src и попадает в папку models
#file.py
model = fasttext.load_model('../models/lid.176.ftz')
Код работает отлично. Однако недавно я переехал main.py в подкаталог, так что теперь он находится выше, и новая строка кода
#file.py
model = fasttext.load_model('../../models/lid.176.ftz')
Теперь код не будет работать, и, в частности, в нем говорится
ValueError: ../../models/lid.176.ftz cannot be opened for loading!
Почему это так? Нарушаю ли я какие-либо рекомендации, о которых я не знаю?
Любая помощь приветствуется.
Спасибо!
Комментарии:
1. Я бы посоветовал вам преобразовать ваши пути в абсолютные пути с
os.paths.abspath
помощью . Затем распечатайте каждый путь, и вы будете точно знать, что вы указываете коду для загрузки. Я предполагаю, что ваш рабочий каталог отличается в двух случаях. Это скажет вам, что если это правда.2.Есть ли какая-либо другая информация с
ValueError
(например, полный стек, показывающий задействованные строки кода)? Вы уверены, что находитесь в ожидаемом рабочем каталоге? (Вы можете распечатать его перед попыткой загрузки.) Если во 2-м случае вы «переместили файл.py в подкаталог», почему теперь есть дополнительный..
сегмент пути к родительскому каталогу, переходящий в другой супердиректорий, а не новое имя подкаталога в пути?3. вы правы. Я переместил main, и теперь это отражено в вопросе. Я пока не уверен, но я думаю, что это был случай отсутствия в рабочем каталоге, который я ожидал