python跨文件调用_python 跨文件引用

背景

最近在运用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的方式查找到文件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值