import os
import sys
if getattr(sys,"frozen",False):
pathCD=os.path.dirname(sys.executable)
else:
pathCD=os.path.dirname(__file__)
这段代码的含义:
确定当前应用程序是作为脚本文件运行还是作为frozen exe运行
1.getattr(object,name[,default])
如果object对象有name属性,则返回name属性值或name为方法时返回name的内存地址
如果object对象不存在name属性,返回default设定的值,如果没有default则返回AttributeError
2.getattr(sys,"frozen",False)
如果sys中没有“frozen”属性,则返回False,如果有,返回frozen属性值,并执行if语句
3.sys.executable返回的是可执行二进制文件(.exe)的绝对路径,例如
'D:\\python3.5.2\\python.exe'
4.os.path.dirname(__file__)
返回的是当前文件的上一层目录