当前位置: 首页 > 工具软件 > pyckfinder.py > 使用案例 >

python 一个.py文件如何调用另一个.py文件中的类和函数

苏宾鸿
2023-12-01

在同一个文件夹下

调用函数:

A.py文件:

def add(x,y):
    print('和为:%d'%(x+y))


B.py文件:


import A
A.add(1,2)


from A import add
add(1,2)

调用类:

 

A.py文件:

class A:
    def __init__(self,xx,yy):
        self.x=xx
        self.y=yy
    def add(self):
        print("x和y的和为:%d"%(self.x+self.y))

B.py文件:

from A import A
a=A(2,3)
a.add()


import A
a=A.A(2,3)
a.add()


 

在不同文件夹下

A.py文件的文件路径:E:\PythonProject\winycg

 

B.py文件:

import sys
sys.path.append(r'E:\PythonProject\winycg')
'''python import模块时, 是在sys.path里按顺序查找的。
sys.path是一个列表,里面以字符串的形式存储了许多路径。
使用A.py文件中的函数需要先将他的文件路径放到sys.path中'''

# 这里在备注一下自己遇到的坑
# 1、导入的文件 或者 包名等 需要符合Python命名规则,比如不能有 - 之类的符号
# 2、如果导入的不是一个包,而是一个Python文件,那么不需要在后面加.py 如果加了,就会报错...

import A

a=A.A(2,3)
a.add()

STR_Liang:谢谢博主,辛苦啦~借助贵宝地写一下备注心得

1、append 里面 不需要加r 也可以

    1.1、在win10环境下,加r可以不用修改原始的 反斜杠路径符号 

    1.2、如果不加r  就必须要改为 双反斜杠 \\  或者是 单斜杠 /   不然就会被认为是转义符

2、导入的文件命名必须符合Python命名标准,不能是纯数字等,不然会报错

3、导入之后,会立即执行导入库的代码,如果封装了函数且调用了,并且没有使用 if __name__ == "__main__": 进行调用,那么函数也会被执行36秒前

 类似资料: