美文网首页
python 跨文件引用

python 跨文件引用

作者: 小盼盼_1 | 来源:发表于2020-11-02 21:02 被阅读0次

背景

最近在运用Django和pytest框架的时候,需要跨文件引用函数和类,现汇总各种场景下引用文件的方法。

直接跨文件引用

1.同一个文件夹两个不同文件间引用

-- src

|-- mod1.py

|-- mod2.py

文件mod2想要引用文件mod1内的函数/类:from .mod1 import *

PS.不使用框架的时候,可移除mod1前面的.

2.不同文件夹下跨文件引用

-- src

|-- mod1.py

|-- lib

|    |-- mod2.py

|-- sub

|    |-- mod3.py

文件mod1想要引用文件mod2内的函数/类:from ..lib.mod2 import *

文件mod2想要引用文件mod1内的函数/类

文件mod2想要引用文件mod3内的函数/类

-- src

|-- mod1.py

|-- lib

    |-- sub1

        |    |-- mod2.py

|-- sub

|    |-- mod3.py

文件mod1想要引用文件mod2内的函数/类

文件mod2想要引用文件mod1内的函数/类

文件mod2想要引用文件mod3内的函数/类

借助sys.path的方式引用

建议采用相对路径的方式,比绝对路径要更好,不会受限文件路径变更

相对路径的里面:.代表同一级;..代表上一级

以不同文件夹跨文件引用为例

文件mod2想要引用文件mod3内的函数/类:

需要在文件mod2头部增加如下代码

import sys

sys.path("..")                          //目前文件所在层级/src/lib/mod2,执行..后层级变更为/src/lib

from sub.mod3 import *     //sub和lib是同一个层级,故可采用sub.mod3的方式查找到文件

相关文章

网友评论

      本文标题:python 跨文件引用

      本文链接:https://www.haomeiwen.com/subject/ypfvvktx.html