Python1个文件2种用途:
当文件被当做脚本运行时 __name__='__main__'
当模块被导入使用 __name__='spam' ==>等于模块名
假定spam代码如下

money=1000 def index(): print('in the index') def bbs(): print('in the bbs') def delphi(): print('in the delphi') if __name__=='__main__': bbs() delphi() index()
if __name__=='__main__':
bbs()
delphi()
index()
这段代码的作用是,如果该代码被当做模块导入,不执行函数的调用方式,如果被当做脚本,则运行之前的代码
modelTest.py代码如下:
import spam print(spam) # print(spam.money) # print(spam.index) # print(spam.bbs) # print(spam.delphi)
######################################################################3
模块的搜索路径
模块的搜索路径:内存-->内置模块-->sys.path
import sys print(sys.path) sys.path.append(r'D:DocumentPython0404day5模块和包spam.py') print(sys.path)
包就是包含了__init__.py文件的文件夹,可以往该文件夹下放一堆子模块
架构如图:
当在包的使用当中import package1 实际上就是引入了package1里的__init__.py文件
示例2
架构如图所示:
注意目录的规范
这句话很重要:
if __name__=='__main__':
src.run()
start源代码
BaseDir=os.path.dirname(os.path.abspath(__file__))#取到star的目录bin #print(BaseDir) BaseDir2=os.path.dirname(os.path.dirname(os.path.abspath(__file__))) #取到bin的目录ATM #print(BaseDir2) #取到了ATM sys.path.append(BaseDir2) from core import src if __name__=='__main__': src.run()