Оказывается, что Windows пути нечувствительны к регистру. Это применимо даже к буквам дисков, которые иногда могут быть строчными, несмотря на здравый смысл, что это всегда прописные буквы.
os.path.normcase выполняет работу по нормализации путей Windows в нижнем регистре.
Это будет правильно проверять, если path
в PYTHONPATH
, ОС независимо:
def path_is_in_pythonpath(path):
path = os.path.normcase(path)
return any(os.path.normcase(sp) == path for sp in sys.path)