我在Windows机器上的共享文件夹中有一些python模块。
该文件是\ mtl12366150 \ test \ mymodule.py
os.path.exists告诉我这条路径是有效的。
我在sys.path中追加了文件夹\ mtl12366150 \ test(而os.path.exists告诉我这条路径是有效的。)
当我尝试导入mymodule时,我收到一条错误消息,说模块不存在。
有没有办法导入位于共享路径中的模块?
答案 0 :(得分:1)
您是否忘记在附加的sys.path组件中使用原始字符串或转义反斜杠?请记住,“\ t”是一个标签,而r“\ t”或“\ t”是一个反斜杠,后跟一个标签。
在大多数应用程序中,即使对于Windows路径,最好使用正斜杠而不是反斜杠,大多数Windows API都会接受它们。否则,请小心使用原始字符串!
[无需在简单的Python模块上方的目录中添加__init__.py文件]
答案 1 :(得分:1)
你说os.path.exists()表示路径在那里,但你绝对确定你逃过了吗?试试这个:
sys.path.append('\\mtl12366150\\tes')
答案 2 :(得分:0)
要导入python项,需要在其上方的每个文件夹中都有一个__init__.py
文件,以显示它是一个有效的python包。
__init__.py
个文件可以为空,只是为了显示结构。
\mtl12366150
__init__.py
\test
__init__.py
\mymodule.py
答案 3 :(得分:0)
正如S.Lott所说,最好的方法是设置PYTHONPATH环境变量。我没有方便的窗口框,但从命令提示符看起来像这样:
c:> SET PYTHONPATH=c:\mtl12366150\test
c:> python
>>> import mymodule
>>>
答案 4 :(得分:0)
我想我找到了答案。我使用的是Python 2.6.1和Python 2.6.2,现在可以使用了。我在python 2.5.4中遇到了同样的错误行为。
答案 5 :(得分:-2)
“我附加到sys.path ...”
请不要。
从应用程序外部设置PYTHONPATH
环境变量。