【发布时间】:2021-12-13 15:47:25
【问题描述】:
我需要将动态创建的包动态添加到我的sys.path。我有一个some.py 文件,在media\TEMP 目录中保存了一个方法that:
此代码有效:
sys.path.append("""C:\\Users\\admin\\Desktop\\tools\\testtool\\media\\TEMP""")
这会导致:
[
...
'C:\\Users\\admin\\Desktop\\tools\\\testTool\\venv',
'C:\\Users\\admin\\Desktop\\tools\\\testTool\\venv\\lib\\site-packages',
'C:\\Users\\admin\\Desktop\\tools\\\testTool\\media\\TEMP'
]
和importlib.import_module(f"{some}.{that}") 有效。但这不起作用:
sys.path.append(Path.cwd().parent.joinpath("media", "TEMP"))
这会导致:
[
...
'C:\\Users\\admin\\Desktop\\tools\\\testTool\\venv',
'C:\\Users\\admin\\Desktop\\tools\\\testTool\\venv\\lib\\site-packages',
WindowsPath('C:/Users/admin/Desktop/tools/testTool/media/TEMP'
]
这失败了ModuleNotFoundError。 Windows 路径不能在sys.path 中吗?我也尝试了Path.resolve(),但没有成功。
【问题讨论】:
-
拨打
str()WindowsPath。 -
请将其发布为答案,以便我可以接受它的愚蠢。
-
完成。很高兴我能帮忙:)
标签: python python-import pythonpath python-importlib