码迷,mamicode.com
首页 > 编程语言 > 详细

python常用模块

时间:2017-06-10 15:17:23      阅读:258      评论:0      收藏:0      [点我收藏+]

标签:python   生成器   表达式   空间   start   

yield

  • yield的语句形式 yield 1

  • yield的表达式形式 x=yield

表达式形式的yield,协程函数

def eater(name):
    print(‘%s ready to eat‘ %name)
    while True:
        food yield
        print(‘%s start to eat %s‘%(name,food))
g=eater(‘Tom‘) #制作生成器
next(g) #生成器初始化,执行时碰到yield暂停,相当g.send(None)
g.send(‘黄焖鸡‘) #在暂停处继续运行,将值传给food

 功能

  1. x=yield

  2. g.send(‘111‘),先把111传给yield,由yield赋值给x

  3. 然后再往下执行,知道再次碰到yield停止,然后把yield后的返回值返回

导入包

  • 包是包含有init.py文件的目录

  • 包的用途:是从目录级组织模块

  • 包相当于一个模块,本质还是给使用者

导入模块干的事情

  1. 产生新的名称空间

  2. 以新建的名称空间为全局名称空间,执行模块中的代码

  3. 拿到模块名,指向该模块差生的名称空间

if name == ‘main

此时当做脚本执行 将需要执行的部分和需要被导入的部分分开

模块搜索路径

  • 先从内存找 ---> 内置模块 ---> sys.path路径

常用模块

time

  • 时间戳 print(time.localtime().tm_year)

  • 格式化输出 print(time.strtime(‘%Y-&m-%d %H:%M:%S‘))

json

  • 把数据从内存中序列化的存储到磁盘中 序列化过程:dic ---> res=json.dumps(dic)--->f.write(res) 反序列化过程:res=f.read()--->res.json.loads(res)--->dic=reswith open(‘a.json‘,‘r‘) as f: dic=json.loads(f.read()) print(dic,type(dic))

json便捷操作

  1. 序列化 import json dic={ ‘go‘:‘die‘, ‘hehe‘:‘哈哈‘, } json.dump(dic,open(‘b.json‘,‘w‘)) #直接打开文件写入

  2. 反序列化

res=json.load(open(‘b.json‘,‘r‘)) #直接打开json文件 print(res,type(res))

pickle只支持python这种语言

os & sys

`import os
print(os.getcwd()) #当前所在目录
print(os.listdir()) #当前目录下文件
print(os.name)
print(os.path.abspath(‘‘))
print(os.path.getsize(r‘C:\Users\Administrator\PycharmProjects\17\day6‘))
print(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) #取出目录名字
`

import sys,time

print(sys.argv)  # list形式取出当前绝对路径形式的名字
print(sys)

for i in range(50):
    sys.stdout.write(‘%s\r‘ % (‘#‘ * i)) #\r 为移动到行首
    sys.stdout.flush() #立即刷新到终端
    time.sleep(0.1)

logging模块

日志级别种类,数值越大越严重,从数值小的开始匹配
  1. CRITICAL = 50

  2. FATAL = CRITICAL

  3. ERROR = 40

  4. WARNING = 30

  5. WARN = WARNING

  6. INFO = 20

  7. DEBUG = 10

  8. NOTSET = 0

    import logging 
    
    logging.basicConfig(filename=‘access.log‘,
        format=‘%(asctime)s - %(name)s - %(levelname)s -%(module)s:  %(message)s‘,
        datefmt=‘%Y-%m-%d %H:%M:%S %p‘,
        level=40,
        )
    
    logging.debug(‘debug‘)
    logging.info(‘info‘)
    logging.warning(‘warning‘)
    logging.error(‘error‘)
    logging.critical(‘critical‘)


本文出自 “11860872” 博客,请务必保留此出处http://11870872.blog.51cto.com/11860872/1934046

python常用模块

标签:python   生成器   表达式   空间   start   

原文地址:http://11870872.blog.51cto.com/11860872/1934046

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!