如何检查路径是否在 PYTHONPATH 中?
How to check if a path is in PYTHONPATH?
如何检查路径是否在 PYTHONPATH 中?
我试过:
def path_is_in_pythonpath(path):
return str(path) in sys.path
但在 Windows 上 运行 时,它有时不起作用。路径在 PYTHONPATH 中,但检查返回 False。
事实证明 Windows 路径不区分大小写。这甚至适用于驱动器字母,尽管常识总是大写字母,但有时驱动器字母可能是小写字母。
os.path.normcase 将 Windows 路径规范化为适当的小写。
这将正确检查 path
是否在 PYTHONPATH
、OS 独立:
def path_is_in_pythonpath(path):
path = os.path.normcase(path)
return any(os.path.normcase(sp) == path for sp in sys.path)
如何检查路径是否在 PYTHONPATH 中?
我试过:
def path_is_in_pythonpath(path):
return str(path) in sys.path
但在 Windows 上 运行 时,它有时不起作用。路径在 PYTHONPATH 中,但检查返回 False。
事实证明 Windows 路径不区分大小写。这甚至适用于驱动器字母,尽管常识总是大写字母,但有时驱动器字母可能是小写字母。
os.path.normcase 将 Windows 路径规范化为适当的小写。
这将正确检查 path
是否在 PYTHONPATH
、OS 独立:
def path_is_in_pythonpath(path):
path = os.path.normcase(path)
return any(os.path.normcase(sp) == path for sp in sys.path)