python - 如何检查路径是否在 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)
推荐阅读
- python - 使用 python selenium 获取标签的子节点数
- cookies - 我应该将 JWT 令牌存储在 IndexedDB 中吗?
- java - log4j:WARN 在 Java 项目中找不到记录器的附加程序
- python - Gekko,PWL 函数结果与预期不符
- java - 作为库设计者,我应该避免 AssertionErrors 而是抛出异常吗?
- django - HyperlinkedModelSerializer 自定义lookup_field 到related_model
- python - 我的 django 密钥必须是 50 个字符长
- azure - 无法更新安装在 AKS pod 中的 azure 文件共享上的文件的所有者和文件权限
- python - Python Dataframe通过中间点计算距离
- swift - 如何防止定时器在后台变慢