Pyhon文件的用途


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()
View Code
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:\Document\Python0404\day5\模块和包\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()

 

posted on 2018-04-11 18:53  90500042陈  阅读(173)  评论(0编辑  收藏  举报