Python:需要帮助从不同目录

时间:2017-05-12 04:38:22

标签: python macos python-3.x python-module

我在Mac OSX 10.12.4上运行Python3.6

/Documents/PyProjects/modules/

在该目录中,驻留__init__.py和Pyrime.py。 Pyrime.py中有一些函数。

/Documents/PyProjects/PE010/

在该目录中驻留我的程序:PE010_Summation_of_Primes.py。我想在is_prime中导入一个名为Pyrime.py的函数,以便在PE010_Summation_of_Primes.py中使用。我认为我需要做的就是写PE010_Summation_of_Primes.py

from modules.Pyrime import is_prime

这不起作用。我的终端抛出:

Traceback (most recent call last):
  File "PE010_Summation_of_Primes.py", line 1, in <module>
    from Pyrime import is_prime
ModuleNotFoundError: No module named 'Pyrime'

Python是我见过的第一种语言,到目前为止我只看了一个星期。我看了很多文档,但对于像我这样的初学者来说,它并不是很有启发性。

2 个答案:

答案 0 :(得分:0)

在运行时添加系统路径:

import sys
sys.path.insert(0, 'path/to/your/py_file')
import py_file

它会起作用!

答案 1 :(得分:0)

嗯,python在尝试导入文件时引用全局库目录或本地目录。但是对于本地以外的目录中的文件,您可以将文件路径添加到sys.path,也可以在所有目录中创建__init__.py文件,包括父目录PyProjects。试试这个 -

from modules.Pyrime import is_prime

所以你的目录看起来像这样 -

PyProjects
    -- __init__.py
    -- PE010
        -- __init__.py
        -- PE010_Summation_of_Primes.py
    -- modules
        -- __init__.py
        -- Pyrime.py

希望它有所帮助。