包和模块

包:本质就是一个目录(必须带有一个__init__.py文件),从逻辑上组织模块。

模块的导入

  导入飘红问题
  导入飘红:多层文件夹容易导致飘红,解决方法:在pycharm根目录下创建工程,不要多层嵌套文件夹。因为pycharm自动会把根目录加入环境变量。

  import model_name                     #导入这个模块,使用: model_name.m1()

  from model_name import *                      #相当于把模块中的所有内容在当前文件重新写一遍,使用: func(),不建议使用,因为当前可能也定义了一个func方法,python从上到下解释,这样就不知道调用了哪个func

  from model_name import m1,m2,m3              #导入模块中的3个功能

  from model_name import m1 as new_name       #给功能起个新名字,使用:new_name()

import的本质:把python文件解释一遍

导入包的本质:执行包下的__init__.py文件

  import model_name          # model_name = all code 就是把model_name中的所有code解释一遍,赋给一个变量model_name,调用时需要model_name.m1()

  from model_name import m1    # 只把m1中的所有code解释一遍,赋给一个变量m1,调用时就是m1()

关于__init__.py文件,py2中必须再包中包含它,否则报错,py3则可以有可以无。

time模块:
a=time.strftime('%Y-%m-%d %H:%M:%S',time.localtime()) ----->>> 2018-04-27 15:28:31
b=time.strptime(a,'%Y-%m-%d %H:%M:%S')  b.tm_year  ---->>2018
time.sleep()
time.localtime()  ----->>>本地时间 
time.time()  ----->>>UTC时间 

datetime模块
import datetime
print(datetime.datetime.now())   ---->2018-04-27 16:20:15.224483

os和sys模块

import os,sys
print(__file__)#当前文件相对路径
print(os.path.abspath(__file__))#当前文件绝对路径
print(os.path.dirname(os.path.abspath(__file__)))#当前文件绝对路径所在的文件夹(也是绝对)
sys.path.insert(0,os.path.dirname(os.path.abspath(__file__)))#降上面的文件夹路径加到系统环境变量中
print(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))#当前文件绝对路径所在的文件夹的上级文件夹(也是绝对)



posted @ 2017-12-05 16:26  Andy__li  阅读(110)  评论(0)    收藏  举报