python---引用其他py文件中的函数

本文介绍了两种在Python项目中实现模块导入的方法。一种是通过在指定目录下创建__init__.py文件来利用相对路径进行模块引用;另一种是通过将所需文件路径添加到sys模块的路径列表中,这种方式更适用于跨目录调用的情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

有两种实现方法,第一种有2个小的方法,第2个小方法比较正式

添加__init.py__

说明
在想引用的文件所在目录下和想执行的py目录下,新建一个文件: __init.py__,即可通过 相对路径的方式引用
方法1
目录如下:

py_test/
├── a
│   ├── a.py
│   └── __init__.py
├── b
│   ├── b.py
│   └── __init__.py
└── __init__.py

a.py内容:

# coding:utf8
def a():
    print("I am a")

b.py内容:

# coding:utf8
from ..a import a
a.a()

其他文件为空
和py_test同目录,执行命令:

python -m py_test.b.b

即可调用a.py中的函数

方法2
方法1的缺点是只能在那个路径下执行命令,如果不想使用方法1,就只能把b.py中的代码封装成一个函数,在py_test文件夹下新建c.py,通过c.py来调用b.py中封装的函数,这是比较正式的做法
目录如下:

py_test
├── a
│   ├── a.py
│   └── __init__.py
├── b
│   ├── b.py
│   └── __init__.py
└── c.py

a.py内容:

# coding:utf8

def a():
    print("I am a")

b.py内容:

# coding:utf8

from a.a import a

def b():
    print("I am b!")
    a()

c.py内容:

# coding:utf8

from b.b import b

b()

其他文件为空,举例在py_test下执行命令:

python c.py

即可正常执行

sys添加路径

说明
将想要用的文件所在目录path添加到系统路径,即可引用
主要形式如下:

import sys
sys.path.append(path)

使用以上形式需要注意使用绝对路径,而且需要注意操作系统导致的路径差异

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值