如何在共享文件夹中导入python模块?

时间:2009-07-28 21:01:48

标签: python import directory shared

我在Windows机器上的共享文件夹中有一些python模块。

该文件是\ mtl12366150 \ test \ mymodule.py

os.path.exists告诉我这条路径是有效的。

我在sys.path中追加了文件夹\ mtl12366150 \ test(而os.path.exists告诉我这条路径是有效的。)

当我尝试导入mymodule时,我收到一条错误消息,说模块不存在。

有没有办法导入位于共享路径中的模块?

6 个答案:

答案 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环境变量。