Избегайте двойной обратной косой черты в пути Windows - PullRequest
0 голосов
/ 09 октября 2018

моя программа должна проанализировать папку / classifiers и выполнить некоторые вычисления.Вот пути к папкам:

classifiers_path = os.path.join('C:/Users/feature/classifiers')

Вот строки кода, которые анализируют эту папку:

        for i in os.path.join(classifiers_path + '/*.pkl'):
        # Pulling the model from the path
        model = joblib.load(i)

Во время отладки у меня есть такие пути:

C:/Users/feature/classifiers\\T1.pkl

Так что это ломается с FileNotFoundError, Как избежать этого двойного \, и это должно быть написано, для unix / windows?Спасибо

1 Ответ

0 голосов
/ 09 октября 2018

Как указано в комментариях, вы должны перебирать файлы в каталоге, а не через строку, полученную из os.path.join().Поэтому вместо этого переберите список файлов в вашем каталоге classifiers_path, полученный в результате его передачи в os.listdir(), например:

for i in os.listdir(os.path.join(classifiers_path)):
        if i.endswith('.pkl'):
            model = joblib.load(i)
...