在python中,包package的物理层面对应文件夹,模块model的物理层面对应程序文件. 1 如果一个文件夹中有__init__.py文件,则python不会认为它是一个普通的文件夹,而是一个package,在__init__
在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.5first.py
def product(x, y): return x*yproduct.py
def quotient(x, y): return y/xquotient.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