如何在共享文件夹中导入Python模块?
我在一台Windows电脑的共享文件夹里有一些Python模块。
这个文件的路径是\mtl12366150\test\mymodule.py。
用os.path.exists检查后,发现这个路径是有效的。
我把文件夹\mtl12366150\test添加到了sys.path里(而且os.path.exists也告诉我这个路径是有效的)。
但是当我尝试导入mymodule时,出现了一个错误,提示这个模块不存在。
有没有办法导入位于共享路径的模块呢?
6 个回答
0
要导入一个Python项目,文件夹上面每一层都需要有一个__init__.py
文件,这样才能证明这个文件夹是一个有效的Python包。
这些__init__.py
文件可以是空的,它们只是用来表示文件夹的结构。
\mtl12366150
__init__.py
\test
__init__.py
\mymodule.py
1
你说os.path.exists()显示路径存在,但你确定你把反斜杠\处理好了吗?试试这个:
sys.path.append('\\mtl12366150\\tes')
1
你是不是忘了用原始字符串,或者在你的 sys.path 组件中把反斜杠转义了?记住,"\t" 是一个制表符,而 r"\t" 或者 "\\t" 是一个反斜杠后面跟着一个制表符。
在大多数情况下,使用正斜杠比反斜杠更好,即使是在 Windows 的路径中,绝大多数 Windows 的 API 也能很好地接受正斜杠。否则,记得要小心使用原始字符串哦!
[在简单的 Python 模块的目录中,不需要添加 __init__.py 文件]