一、内置模块

定义:其实模块简单说就是一堆代码实现某个功能,它们是已经写好的.py文件。只需要用import应用即可。

分类:

  1. 自定义模块,就是自己写的.py文件为了实现某个功能。

  2. 内置标准模块(就是python自身已经写好的某个功能,例如经常用的sys、os等模块都是内置模块。)

  3. 开源模块,就是不收费的别人写好的模块,一般也称第三方模块。

模块的引用:

  1. import modules

  2. from modules import  函数

  3. 如果有多个模块,可以用逗号隔开,如果想把某个模块里面的所有功能都导入,可以用*,这样的话功能都加载道内存里面,占用内存资源,不建议用。

1、time模块

import time

print(help(time))
print(time.time()) # 1512377060.541332: 时间戳 *****
time.sleep(3) # 停止3秒 ***** print(time.localtime()) # 结构化时间的本地时间 ***** struct_time = time.localtime()
print(time.strftime('%Y-%m-%d %H:%M:%S', struct_time)) # 字符串时间 ****** print(time.strptime('2017-12-04 17:10:46', '%Y-%m-%d %H:%M:%S')) # 字符串时间转结构化时间 *****
a = time.strptime('2017-12-04 17:10:46', '%Y-%m-%d %H:%M:%S') # 结构化时间取值
print(a.tm_year)
print(a.tm_mday) print(time.ctime()) # 取当前时间
print(time.ctime(1234567890)) # 计算时间戳时间 print(time.mktime(time.localtime())) # 将结构化时间转换为时间戳 print(time.gmtime()) # 结构化时间: time.struct_time(tm_year=2017, tm_mon=12, tm_mday=4, tm_hour=8, tm_min=51, tm_sec=38, tm_wday=0, tm_yday=338, tm_isdst=0)
print(time.clock()) # 计算CPU执行时间 # 直接看时间
import datetime
print(datetime.datetime.now())

2、OS模块

OS模块是提供对操作系统调用的接口。

print(os.getcwd())                                      # 获取当前工作目录,及当前python脚本工作的目录路径
os.chdir(r'E:\老男孩\day_18') # 改变当前脚本的工作目录,相当于linux的cd
print(os.getcwd())
print(os.curdir) # 返回当前目录
print(os.pardir) # 获取当前目录父目录字符串名
os.makedirs('abc\\mu') # 创建多级目录
os.removedirs('abc\\mu') # 先找到最深的目录,如果去空的就进行删除,并递归到上层目录如果有文件就不进行删除
os.mkdir('dirname') # 只能创建一个目录
os.rmdir('dirname') # 删除一个空的目录,非空报错
print(os.listdir(r'E:\老男孩\day_18')) # 打印出路径的下的所有dir和file
os.remove('file') # 删除一个文件
os.rename('oldname', 'newname') # 重命名文件/目录
os.stat('path/filename'.st_size) # 获取文件/目录信息(大小)
os.stat('path/filename'.st_atime) # 获取文件/目录信息(最后一次访问的时间) print(os.sep) # 输出操作系统特定的路径分隔符,win下为'\\',Linux下为'/'
s = os.sep # 用s连接路径,可解决win和linux不同的路径分隔符
os.linesep # 输出当前操作体统的换行符,win下为'\r\n',Linux下为'\n'
s = os.linesep # 用s代理,解决不同的换行符 os.pathsep # 输出当前操作系统用于分割文件的符号,win下为';',linux下为':'
os.name # 输出字符串提示当前适用平台。win为'nt',linux为'posix'
os.system('ifconfig') # 执行shell命令
os.environ # 获取系统环境变量
print(os.path.abspath('./os_模块')) # 获取文件的据对路径
print(os.path.split(r'E:\我的坚果云\Py_Program\老男孩\week_04\day_18\os_模块'))    # 分割路径和文件
print(os.path.dirname(r'E:\我的坚果云\Py_Program\老男孩\week_04\day_18\os_模块'))    # 答打印出这个文件的绝对路径
print(os.path.basename(r'E:\我的坚果云\Py_Program\老男孩\week_04\day_18\os_模块')) # 返回path最后的文件名,如果是以/或者\结尾,返回空值
os.path.exists(path) # 判断文件是否存在,存在为True,反之为False
os.path.isabs(path) # 如果path是绝对路径,返回True
os.path.isfile(path) # 判断path是否为一个存在的文件,返回True、False
os.path.isdir(path) # 判断path是否为一个存在的目录,返回True、False
os.path.join([a, b]) # 路径拼接
os.path.getatime() # 返回path所指向的文件或者目录最后的存取时间
os.path.getmtime() # 返回path所指向的文件或者目录最后的修改时间

3、sys模块

sys模块是和python解释器进行交互。

sys.exit(n)                                         # 退出程序,正常退出时exit(0)
print(sys.version) # 获取Python程序解释器的版本信息
print(sys.maxsize) # 获取最大Int值
print(sys.path) # 获取模块路径,如果要手动添加模块,就手动将路径添加进去 print(sys.platform) # 返回操作系统平台名称
if sys.platform == 'win32': # 跨平台判断
os.system('dir')
elif sys.platform == 'Linux':
os.system('ls -l') sys.stdout.write('please') 

4、hashlib模块

用于明文和密文转换。

m = hashlib.md5()                                                 # 调用算法
print(m) m.update('hello'.encode('utf8')) # 为m赋值
print(m.hexdigest()) m.update('imomy'.encode('utf8')) # 再次更新m的值
print(m.hexdigest()) m2 = hashlib.md5() # 调用算法
m2.update('helloimomy'.encode('utf8')) # 为m2赋值
print(m2.hexdigest()) # 查看

实际用例:

import hashlib
s = hashlib.sha256()
s.update('hello'.encode('utf8'))
print(s.hexdigest())

5、随机数random模块

import random
print(random.randint(1,10)) # 取1-10的随机数
print(random.randrange(1,10)) # 取1-9的随机数
print(random.choice('hello')) # 取字符串或序列的某个值
print(random.choice(['', '', '', [1, 2]])) # 取字符串或序列的某个值
print(random.sample(['', '', '', [1, 2]], 2)) # 在序列中选多个值

编写验证码:

import random
def check():
code = ''
for i in range(5):
add = random.choice([random.randrange(0,9), chr(random.randrange(66,91))])
code = code + str(add)
return code
print(check())

6、日志模块

默认情况下Python的logging的模块将日志打印到标准输出中,,且只显示大于等于warning级别的日志,这说明默认的日志级别为warning,默认的日志格式为:日志级别:logger名称:用户输出的信息

import logging

logging.basicConfig(level=logging.DEBUG,
format='%(asctime)s %(filename)s [line:%(lineno)d] %(levelname)s %(message)s',
datefmt='%a, %d %b %Y %H:%M:%S',
filename='test.log',
filemode='a') # logging.basicConfig函数各参数:
# filename: 指定日志文件名
# filemode: 和file函数意义相同,指定日志文件的打开模式,'w'或'a'
# format: 指定输出的格式和内容,format可以输出很多有用信息,如上例所示:
# %(levelno)s: 打印日志级别的数值
# %(levelname)s: 打印日志级别名称
# %(pathname)s: 打印当前执行程序的路径,其实就是sys.argv[0]
# %(filename)s: 打印当前执行程序名
# %(funcName)s: 打印日志的当前函数
# %(lineno)d: 打印日志的当前行号
# %(asctime)s: 打印日志的时间
# %(thread)d: 打印线程ID
# %(threadName)s: 打印线程名称
# %(process)d: 打印进程ID
# %(message)s: 打印日志信息
# datefmt: 指定时间格式,同time.strftime()
# level: 设置日志级别,默认为logging.WARNING
# stream: 指定将日志的输出流,可以指定输出到sys.stderr,sys.stdout或者文件,默认输出到sys.stderr,当stream和filename同时指定时,stream被忽略 logging.debug('debug')
logging.info('info')
logging.warning('warning')
logging.error('errot')
logging.critical('critical')

另外还有一个模块级别的函数,是logging:

import logging

logger = logging.getLogger()
fh = logging.FileHandler('def_test.log') # 文件对象
ch = logging.StreamHandler() # 屏幕输出对象
formatter = logging.Formatter('%(asctime)s %(name)s %(levelname)s %(message)s') logger.setLevel(logging.DEBUG)
fh.setFormatter(formatter)
ch.setFormatter(formatter)
logger.addHandler(fh)
logger.addHandler(ch) logger.debug('debug')
logger.info('info')
logger.warning('warning')
logger.error('error')
logger.critical('critical')

Python_常用模块的更多相关文章

  1. atitit 商业项目常用模块技术知识点 v3 qc29

    atitit 商业项目常用模块技术知识点 v3 qc29 条码二维码barcodebarcode 条码二维码qrcodeqrcode 条码二维码dm码生成与识别 条码二维码pdf147码 条码二维码z ...

  2. 《Ansible权威指南》笔记(3)——Ad-Hoc命令集,常用模块

    五.Ad-Hoc命令集1.Ad-Hoc命令集通过/usr/bin/ansible命令实现:ansible <host-pattern> [options]    -v,--verbose  ...

  3. python学习笔记(5)--迭代器,生成器,装饰器,常用模块,序列化

    生成器 在Python中,一边循环一边计算的机制,称为生成器:generator. 如: >>> g = (x * x for xin range(10)) >>> ...

  4. 进击的Python【第五章】:Python的高级应用(二)常用模块

    Python的高级应用(二)常用模块学习 本章学习要点: Python模块的定义 time &datetime模块 random模块 os模块 sys模块 shutil模块 ConfigPar ...

  5. Python模块之常用模块,反射以及正则表达式

    常用模块  1. OS模块 用于提供系统级别的操作,系统目录,文件,路径,环境变量等 os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("di ...

  6. python学习笔记之常用模块(第五天)

    参考老师的博客: 金角:http://www.cnblogs.com/alex3714/articles/5161349.html 银角:http://www.cnblogs.com/wupeiqi/ ...

  7. day--6_python常用模块

    常用模块: time和datetime shutil模块 radom string shelve模块 xml处理 configparser处理 hashlib subprocess logging模块 ...

  8. Tengine 常用模块使用介绍

    Tengine 和 Nginx Tengine简介 从2011年12月开始:Tengine是由淘宝网发起的Web服务器项目.它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能 和特性. ...

  9. Saltstack常用模块及API

    Saltstack提供了非常丰富的功能模块,涉及操作系统的基础功能.常用工具支持等,更多模块信息可以查看官网模块介绍.也可以通过sys模块列出当前版本支持的模块. salt '*' sys.list_ ...

随机推荐

  1. Tkinter的l组件常用属性

    Label常用属性 序号 属性 说明 1  anchor   指示文字会被放在控件的什么位置, 可选项有 N, NE, E, SE, S, SW, W, NW, CENTER. 默认为 CENTER. ...

  2. web小trick

    1.linux下交换文件 .index.php.swp 有时可查看源码2.当php后缀被过滤的时候可以直接对ph开头的后缀进行一个fuzz测试可以上传的文件后缀名3.curl -x 123.45.67 ...

  3. java中过滤器、监听器、拦截器的区别

    1.过滤器:所谓过滤器顾名思义是用来过滤的,在java web中,你传入的request,response提前过滤掉一些信息,或者提前设置一些参数,然后再传入servlet或者struts的actio ...

  4. Golang自带的http包的路由规则问题

    1.调用下面的方法开启一个http监听服务http.HandleFunc("/hello/", helloHandler)err := http.ListenAndServe(&q ...

  5. erlang通讯解析浮点数的一些问题

    这两天我弟弟遇到一个比较有意思的问题.他在前端协定数据协议的时候用到了float和double,所以他想问float和double在erlang后端中是如何解析的.我之前写协议也很少用到浮点数,所以也 ...

  6. spring batch 读取多个文件数据导入数据库

    项目的目录结构 需要读取文件的的数据格式 applicatonContext.xml的配置 <?xml version="1.0" encoding="UTF-8& ...

  7. ABAP ICON

    1.输出图标的3种方法 WRITE: / '@09@'. "id WRITE: / icon_yellow_light. "name WRITE: / '@S_TL_Y@'. &q ...

  8. JS案例练习-手机微信聊天对话框

    先附图 CSS部分: <style> body{} *{;} li{list-style: none;} .container{ width:310px; height:600px; ma ...

  9. Payoneer个人账户注册申请教程

    1)照牛排于2013年末写的<免费申请Payoneer万事达预付卡+美国银行账号教程>非常详尽,网友纷纷转载,但生命在于折腾,Payoneer官网几经改版,自2015年3月推出无卡账户以来 ...

  10. JavaScript-判断语句(if...else)

    语法: if(条件) { 条件成立时执行的代码 } else { 条件不成立时执行的代码 } 假设我们通过年龄来判断是否为成年人,如年龄大于等于18岁,是成年人,否则不是成年人.代码表示如下: < ...