我创建了一个文件(模块)“functions.py”,其中包含我想与不同文件夹(01.py、02.py、03.py)中的不同程序一起使用的函数。树结构是这样的:
Python 3
funciones
funciones.py
01
01.py
02
02.py
03
03.py
我搜索了信息,发现为了能够从任何其他程序调用“functions.py”中的函数,我必须在“functions.py”文件夹中包含一个“ init .py”文件。 py”位于.. 我已经做到了,树如下:
Python 3
funciones
funciones.py
__init__.py
01
01.py
02
02.py
03
03.py
例如,如果我打开“01.py”并导入函数文件import funciones as fun
,然后调用其中一个函数,fun.saludo()
则会出现错误,因为尚未导入模块。
我澄清说,如果我将“functions.py”与其中一个程序(01,02 或 03)放在同一个文件夹中,那么我可以毫无问题地从该文件夹中的程序调用它。
我需要做什么才能从任何其他 .py 文件中导入“functions.py”模块?
PS:我通过 Anaconda 与 Spuder 3 合作。
显然您已经找到了PYTHONPATH的解决方案:
但是还有另一个类似的替代方案,考虑到以下树结构:
并假设重组不是一种选择。您可以
sys.path.append('/path/')
按如下方式使用:01.py:
只需将子目录 ('/python3/functions') 添加到
path
Python 目录,以便尝试以某种正常的方式导入。