Python引入其他文件夹下的py文件
- 本文目录导读:
- 1、Python模块和包
- 2、引入其他路径下的py文件
- 3、相对导入与绝对导入
Python模块和包
在编写复杂程序时,我们通常需要将代码分为不同的部分,每个部分负责不同的功能。这种组织方式被称为模块化编程。Python中,最基本也是最重要的组成单位是模块。
一个.py文件就可以作为一个模块,在其中定义变量、函数、类等内容,并供其他程序调用。当然,在实际开发中,单一的.py文件往往无法满足需求,因此我们还需要使用到包。
包是指多个模块放在同一个目录下,并且在该目录下创建一个__init__.py(可以为空)文件来标识这个目录为一个包。通过使用import语句导入指定路径下的某个.py文件或整个包以及其子模块。
引入其他路径下的py文件
默认情况下,在Python中只能直接导入当前路径下或系统默认搜索路径内存在的库或者自己编写好并保存在当前工作空间内已经存在于sys.path列表里面了才能直接import进来。
但有时候我们可能会碰到需要从别处导入python脚本而遇到找不到module名字报错问题,则此时就需要修改PYTHONPATH环境变量来解决问题:
```
import sys
sys.path.append('path/to/your/module')
import your_module
其中,`sys.path.append()`可以添加自定义路径到系统搜索路径中。如果需要多个路径,则使用append()方法分别添加即可。
但是这种方式并不推荐,因为它只是解决了当前问题而已,并没有真正意义上的规范化管理模块和包。
相对导入与绝对导入
Python中有两种常见的导入方式:相对导入和绝对导入。在一些较大型工程项目开发时更常用到。
相对导入指的是通过"."或".."来表示当前文件所在目录或父级目录等位置进行引用。例如,在同一个包内部,我们可以使用以下语句来实现模块之间的调用:
from . import module1
from ..subpackage import module2
而绝对导入则需要明确地知道被调用模块所在完整路径,并以该路径作为基准进行引用:
from package.module import function_name
Python提供了灵活且强大的模块化编程机制,使得程序员们能够轻松地组合、重复利用代码;同时也提供了多样性质量高效率高的引包方法让人感到无比惊喜。
当然,要注意避免出现混乱不清晰甚至错误难以追踪的问题,我们需要在组织包和编写模块时特别注意代码规范,同时选择相对导入或者绝对导入来引用其他文件夹下的py文件。