Python将WindowsPath加入sys.path后导入模块失败如何解决
核心原因
sys.path 仅支持存储字符串格式的路径,不识别 pathlib 提供的 Path/WindowsPath 对象,和Windows路径格式本身没有关系。你报错的sys.path输出里可以看到新增的条目是WindowsPath类型,import机制遍历sys.path时会直接忽略非字符串类型的条目,自然找不到对应的模块。
你调用Path.resolve()没有效果的原因是该方法仅会将Path对象转为绝对路径格式,本质仍然是Path对象,没有转为字符串,所以不满足sys.path的格式要求。
修复方案
将Path对象显式转为字符串即可,修改代码如下:
# 方法1:直接转字符串 sys.path.append(str(Path.cwd().parent.joinpath("media", "TEMP"))) # 方法2:输出正斜杠格式的字符串,效果一致 sys.path.append(Path.cwd().parent.joinpath("media", "TEMP").as_posix())
内容的提问来源于stack exchange,提问作者xtlc
相关产品推荐
相关产品推荐

