0

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

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

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

我将文件夹 \mtl12366150\test 附加到 sys.path (并且 os.path.exists 告诉我这个路径是有效的)。

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

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

4

6 回答 6

1

您是否忘记在附加的 sys.path 组件中使用原始字符串或转义反斜杠?请记住,"\t" 是一个制表符,而 r"\t" 或 "\t" 是一个反斜杠后跟一个制表符。

在大多数应用程序中,即使对于 Windows 路径,您实际上最好使用正斜杠而不是反斜杠,并且大多数 Windows API 都可以接受它们。否则,请小心使用原始字符串!

【简单Python模块上面的目录不需要添加__init__.py文件】

于 2009-07-28T21:19:49.143 回答
1

你说 os.path.exists() 说路径在那里,但你绝对确定你逃脱了\?尝试这个:

sys.path.append('\\mtl12366150\\tes')
于 2009-07-28T21:25:17.150 回答
0

要导入 python 项目,需要在__init__.py其上方的每个文件夹中都有一个文件,以表明它是一个有效的 python 包。

这些__init__.py文件可以是空的,它们只是为了显示结构。

\mtl12366150
  __init__.py
  \test
    __init__.py
      \mymodule.py
于 2009-07-28T21:10:12.623 回答
0

正如 S.Lott 所说,最好的方法是设置 PYTHONPATH 环境变量。我没有方便的 windows 框,但从您的命令提示符下它看起来像这样:

c:> SET PYTHONPATH=c:\mtl12366150\test
c:> python
>>> import mymodule
>>>
于 2009-07-28T21:38:26.763 回答
0

我想我找到了答案。我使用的是 Python 2.6.1,现在使用 Python 2.6.2 可以正常工作。我对 python 2.5.4 有同样的错误行为。

于 2009-07-29T13:21:13.083 回答
-2

“我附加到 sys.path ...”

请不要。

PYTHONPATH从应用程序外部设置环境变量。

于 2009-07-28T21:22:31.460 回答