Python: 需要帮助从不同目录导入模块
Python: Need help importing module from a different directory
我 运行 Python3.6 Mac OSX 10.12.4
/Documents/PyProjects/modules/
在该目录中,存在 __init__.py
和 Pyrime.py。 Pyrime.py里面有一些功能。
/Documents/PyProjects/PE010/
在该目录中驻留了我的程序:PE010_Summation_of_Primes.py
。我想在 Pyrime.py
中导入一个名为 is_prime
的函数,以便在 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是我见过的第一种语言,到现在为止我也才看了一个星期左右。我看了很多文档,但是对于像我这样的初学者来说,并没有太大的启发。
在运行时添加系统路径:
import sys
sys.path.insert(0, 'path/to/your/py_file')
import py_file
它会起作用的!
好吧,python 在尝试导入文件时指的是全局库目录或本地目录。但是对于非本地目录中的文件,您可以将文件路径添加到 sys.path
或在包括父目录 PyProjects
在内的所有目录中创建一个 __init__.py
文件。试试这个 -
from modules.Pyrime import is_prime
因此您的目录将如下所示 -
PyProjects
-- __init__.py
-- PE010
-- __init__.py
-- PE010_Summation_of_Primes.py
-- modules
-- __init__.py
-- Pyrime.py
希望对您有所帮助。
我 运行 Python3.6 Mac OSX 10.12.4
/Documents/PyProjects/modules/
在该目录中,存在 __init__.py
和 Pyrime.py。 Pyrime.py里面有一些功能。
/Documents/PyProjects/PE010/
在该目录中驻留了我的程序:PE010_Summation_of_Primes.py
。我想在 Pyrime.py
中导入一个名为 is_prime
的函数,以便在 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是我见过的第一种语言,到现在为止我也才看了一个星期左右。我看了很多文档,但是对于像我这样的初学者来说,并没有太大的启发。
在运行时添加系统路径:
import sys
sys.path.insert(0, 'path/to/your/py_file')
import py_file
它会起作用的!
好吧,python 在尝试导入文件时指的是全局库目录或本地目录。但是对于非本地目录中的文件,您可以将文件路径添加到 sys.path
或在包括父目录 PyProjects
在内的所有目录中创建一个 __init__.py
文件。试试这个 -
from modules.Pyrime import is_prime
因此您的目录将如下所示 -
PyProjects
-- __init__.py
-- PE010
-- __init__.py
-- PE010_Summation_of_Primes.py
-- modules
-- __init__.py
-- Pyrime.py
希望对您有所帮助。