当我们想要在一个Python文件中引用(import)文件夹下的其他.py文件时,有以下几种方法:
方法一:使用sys.path.append()添加路径
首先需要用sys.path.append()
将该文件夹的路径添加到Python的搜索路径中,这样才能让Python找到该文件夹下的.py文件。在本例中,假设我们想要引用文件夹 file夹 下的py文件 module.py,我们可以在另一个 Python 文件中使用以下代码来导入 module.py:
import sys
sys.path.append('./file夹') # 将 file夹 文件夹路径添加到Python搜索路径中
import module # 导入 module.py模块
也可以使用绝对路径来添加文件夹路径:
import sys
sys.path.append('/Users/username/Desktop/project/file夹') # 文件夹的绝对路径
import module # 导入 module.py模块
方法二:使用包(Package)
另一种导入文件夹下的.py文件的方法是将该文件夹作为一个包进行导入。为了让 Python 将文件夹作为包进行导入,我们需要在该文件夹下创建一个名为 "init.py" 的文件,以指示该文件夹是一个包。可以在 "init.py" 中定义和导入该文件夹下的所有模块或子包。
# file夹/__init__.py文件内容
from .module import func1, func2, MyClass # 导入 module.py中的函数和类
在另一个 Python 文件中,我们可以使用以下代码来导入 file夹 包中的 module.py 文件中的函数和类:
import file夹 # 导入 file夹 包
from file夹 import func1, func2, MyClass # 导入 module.py中的函数和类
示例说明:
为了更好地理解上述两种方法的用法,我们可以看下面两个示例:
假设有下面这个项目结构:
project
├─file夹
│ ├─module.py
├─main.py
示例一:
如果我们要在 main.py 文件中导入 file夹 文件夹下的 module.py 文件中的函数和类,可以使用以下代码:
import sys
sys.path.append('./file夹') # 将 file夹 文件夹路径添加到Python搜索路径中
import module # 导入 file夹/module.py模块
from module import foo, Bar # 导入 module.py中的函数和类
foo() # 打印 'Hello, World!'
bar = Bar()
bar.greet() # 打印 'Hello, Bar!'
示例二:
另一种方法是通过将 file夹 文件夹作为一个包导入。我们可以在 file夹 文件夹下创建一个名为 "init.py" 的空文件。在文件夹中的 module.py 中定义了一个函数和一个类。
# file夹/__init__.py文件内容
from .module import foo, Bar # 导入 module.py中的函数和类
在 main.py 文件中,我们可以使用以下代码来导入 file 夹包中的 module.py 文件中的函数和类:
import file夹
file夹.foo() # 打印 'Hello, World!'
bar = file夹.Bar()
bar.greet() # 打印 'Hello, Bar!'
这样,我们便可以成功地引用 file夹 文件夹下的 module.py 文件中的函数和类。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python引用(import)文件夹下的py文件的方法 - Python技术站