不同包的调用

在python中,包package的物理层面对应文件夹,模块model的物理层面对应程序文件.

1 如果一个文件夹中有__init__.py文件,则python不会认为它是一个普通的文件夹,而是一个package,在__init__.py程序中用于存放它所在package的顶层目录(即到它的父目录),为了其它包调用它的时候,python解释器可以找到它.

当一个包中没有__init__.py文件的时候,也可以,只不过其它程序想要调用这个package中的程序时,需要在开头把该package所在的顶层目录加上.

2 当一个package内的程序互相调用的时候,直接import即可,无需导入写路径.

# import sys
# # 将的上级文件夹绝对路径导入临时系统变量
# sys.path.append("/home/sxtj/han/推荐系统/program")

import os,sys
#这里是把顶层目录加入到python的环境变量中。
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
print(BASE_DIR)
sys.path.append(BASE_DIR)

from product import *
from package2 import quotient

a = product(2,4)
print(a)
b = quotient.quotient(10,5)
print(b)
# /home/sxtj/han/推荐系统/program
# 8
# 0.5
first.py
def product(x, y):
    return x*y
product.py
def quotient(x, y):
    return y/x
quotient.py

def quotient(x, y):
    return y/

参考:https://www.cnblogs.com/keep-going2099/articles/8178387.html#_label1

          https://www.cnblogs.com/yinzhengjie/p/8587656.html

          https://blog.csdn.net/XuZZ94/article/details/79669313

猜你喜欢

转载自www.cnblogs.com/xxswkl/p/11727973.html