oldboy 26th day . I love Python. 模块之 time 时间模块, os 模块, sys 模块

一, 昨日内容回顾
  logging高配版:
    导入logging模块
    1, 创建logger对象 logger= logging,getLogger()
    2, 创建一个特殊的文件句柄和屏幕句柄: fh = logging.FileHandler(filepath,encoding) ; sh = logging.StreamHandler()
    3.把fh 和sh 结合一下. logger.addHandler(fh); logger.addHandler(sh)
  collections 模块: 提供了一些特殊的数据类型:
    namedtuple: (x=1,y=2) 跟坐标很相似.
    deque: 双端队列.: 可从左右进, 亦可从左右出
      quque:队列 先进先出 例如: 羽毛球桶
      栈: 先进后出.
    OrderedDict: 有序的字典(按照插入的先后进行排列.)
    defaultdict: 默认字典, :默认给所有的字典配一个值. defaultdict(可调用的变量)
    Counter: 自动的计数.
  random 随机模块:
    random.randint()
    random.randrange()
    random.choice()
    random.sample()
    random.shuffle()
二, 小作业

三, 今日主要内容:
  time 时间模块:
    1, 测试执行效率 时间戳: 从1970年1月1日的凌晨00:00时到现在的秒数. time.time(), 返回的是 float
    2, 格式化时间字符串:表示时间 给人看的: (%Y-%m-%d %H:%M:%S)
      time.strftime() 格式化时间
    3, 结构化时间 作为时间戳与字符串格式化时间的中间介质
      time.localtime() 这是一个 namedtuple数据类型.
      time.gmtime() 伦敦时区的结构化时间.
    4, 正常的时间转化的方法:

    


      1, 格式化字符串时间-->结构化时间-->时间戳:
        format_time = time.strftime('%Y-%m-%d %H:%M:%S')         # 获取格式化字符串时间
        tuple_time = time.strptime(format_time,'%Y-%m-%d %H:%M:%S')      #strptime(format_time, format) 把格式化字符串转化成结构化时间
        print(tuple_time)
        stamp_time = time.mktime(tuple_time)                  # mktime(tuple_time) 把结构化时间转化为时间戳
        print(stamp_time)
      2, 时间戳-->结构化时间-->格式化字符串时间:
        timestamp = time.time()                       # 获取时间戳
        structtime = time.localtime(timestamp)                  #localtime() 把时间戳转化为结构化时间
        print(structtime)
        format_time = time.strftime('%Y-%m-%d %H:%M:%S',structtime)      # strftime(format, structtime) 把结构化时间转化为格式化字符串时间
        print(format_time)
    5, 特殊的时间转化:

  os 模块: 与操作系统交互的一个接口.
    1, 与当前执行的这个python文件的工作目录相关的工作路径:
      路径:
        绝对路径:从根目录下开始寻找
        相对路径: 当前文件所在的文件夹下的所有文件

      文件名: 文件的名字加后缀.

      工作目录,父级目录,当前目录: 当前文件所在的文件夹的绝对路径,叫做目录.

      os.getcwd() 获取当前 工作目录(父级目录) * ***注意不是绝对路径哦
      os.chdir(path) 修改本文件的工作目录, 实际没有变.
      os.curdir返回当前目录.
      os.pardir 获取当前目录的父级目录的父级目录.


    2, 和文件夹相关的:
      os.makdir(name) 在当前工作目录下创建一个名字叫做name的文件夹.一次能且只能创建一个文件夹.
      os.makdirs(name/name/name...) 可以递归创建多个文件夹.
      os.rmdir(name) 删除当前工作目录的名字叫name的空文件夹. 注意 必须是空的文件夹. **
      os.removedirs(name/name...) 删除多个空的文件夹. 注意 所有的文件夹都必须是空的, 如果有内容,停止删除.
      os.listdir(path)把当前目录下的 文件以及文件夹的名字 读取到一个列表当中.**
    3, 和文件相关:
      os.remove(name)删除一个叫name的文件
      os.rename('old', 'new')
      os.stat(name) 获取文件的一些相关信息
    4, 和操作系统差异性相关: 注意: 因为各个操作系统 很多东西不兼容,所以 需要进行判断.
      博客粘贴.

      os.sep 输出操作系统特定的路径分隔符,win下为"\\",Linux下为"/"
      os.linesep 输出当前平台使用的行终止符,win下为"\t\n",Linux下为"\n"
      os.pathsep 输出用于分割文件路径的字符串 win下为;,Linux下为:
      os.name 输出字符串指示当前使用平台。win->'nt'; Linux->'posix'


    5, 和执行命令相关:
      os.system('dir') 运行dir命令
      os.popen('dir').read() 运行shell命令, 获取执行结果. **
      os.environ 获取系统的环境变量.
    6. path系列, 和路径相关
      os.path.abspath(name) 获取name文件的绝对路径. ***
      os.path.split(相对路径) 将相对路径 分割成目录和文件名两个元素的元组. ***
      os.path.dirname(path) 返回工作目录.
      os.path.basename(path)返回文件名
      os.path.exists(path) 判断path是否存在.
      os.path.isabs(path) 判断path是否是一个绝对路径
      os.path.isfile(path) 判断path是否存在
      os.path.join(path1, path2) 把路径拼接到一起. ***
      os.path.getatime(path)
      os.path.getmtime(path)
      os.path.getsize(path) 获取文件大小 ,单位为字节, bytes. ***
  sys 模块 与python解释器交互的一个接口
    sys.platform 返回平台操作系统.
    sys.version 返回python解释器的版本.
    sys.path 返回模块查询的顺序.
    sys.exit() 退出python解释器.
    sys.argv 可以用于给文件加密.   ***

详细内容链接:https://www.cnblogs.com/jin-xin/articles/9265561.html
四, 明日内容预习:
异常处理.
员工信息表的作业.

猜你喜欢

转载自www.cnblogs.com/Fushengliangnian/p/9290988.html