os.path.exists возвращает значение false для некоторых путей

#python #windows #path

Вопрос:

Может ли кто-нибудь объяснить мне, как следующий результат возможен для этого фрагмента кода на Python:

 for f in glob.glob(<dir-path> "\*"):
       print(os.path.exists(f))
 

и результат:

 True
True
True
True
False
False
False
True
False
False
False
True
 

Каталоги, с которыми я работаю, являются сетевыми папками, но эта проблема ранее не возникала в других каталогах. Я проверил, и нет никакой разницы в разрешениях между файлами в каталоге.
Есть какие-нибудь предложения?

Комментарии:

1. Первым шагом отладки было print(os.path.exists(f), f) бы выяснить, какие пути вызывают проблему.

2. сначала вы должны отобразить f , чтобы увидеть, какой путь создает проблему, и вы должны проверить непосредственно в системе, существует ли этот путь. Возможно, это был временный файл, и он существовал во glob() время работы, но был удален (системой) во exists() время работы.

3. Пути, которые создают проблему, являются обычными и не ведут к временным файлам. Есть еще какие-нибудь предложения по отладке?

4. Что делать, если вы используете print(os.path.exists(f), os.path.exists('\\?\' f), f) ?