常用模块

佐手、 提交于 2020-02-05 23:50:26
1. random 模块;
    取随机数的模块
    import random
    取随机小数
    取随机整数
    从一个列表中随机抽取
    打乱一个列表的顺序
    random.random() 产生0-1的随机浮点数
    random.uniform(a, b) 产生指定范围内的随机浮点数
    random.randint(a, b) 产生指定范围内的随机整数
    random.randrange([start], stop[, step]) 从一个指定步长的集合中产生随机数
    random.choice(sequence) 从序列中产生一个随机数
    random.shuffle(x[, random]) 将一个列表中的元素打乱
    random.sample(sequence, k) 从序列中随机获取指定长度的片断
2.time 模块时间相关的
    time和时间打交道的
    datetime

   datetime.date.today().timetuple() 转换为时间戳datetime元组对象,可用于转换时间戳
   datetime.datetime.now().timetuple()
   time.mktime(timetupleobj) 将datetime元组对象转为时间戳
   time.time() 当前时间戳
   time.localtim

3.os 模块:操作系统相关模块
    创建模块
    os.makedirs('/dir1/dir2')#创建多个目录文件夹
    os.mkdir('dir3')#创建一个目录文件夹
   删除模块,只能删除空文件
    os.rmdir('dir3/dir4') #删除一个文件夹
    os.removedirs('dir3/djr4')#删除多个文件目录
    os.listdir 查看文件夹下的所有的文件
    os.path.join Windows和liunx下都可以使用的,查看文件
    os.system('dir') #负责执行操作系统的命令,没有返回值
    exec/eval执行的字符串数据类型的python代码

    os.popen适合做查看类的操作
    ret = os.popen('dir')
    s = ret.read()
    print(s)
    print(s.split('\n')
    os.chdir('D:\sylar\s15\day18')#切换当前工作的目录
4.sys 模块: 这个模块和python解释器打交道
    sys.argv
    sys.path
        模块是存在硬盘当中的,在使用的时候import才到内存里面
        一个模块能否顺利导入,注意syspath
    sys.modules
        是我们内存中导入的所有的,模块内存地址
      sys.builtin_module_names Python解释器导入的内建模块列表 
      sys.executable Python解释程序路径 
      sys.getwindowsversion() 获取Windows的版本 
      sys.stdin.readline() 从标准输入读一行,sys.stdout.write(“a”) 屏幕输出a

5.urllib模块
     rulrs = urllib.urlopen(url[,data[,proxies]]) 抓取网页信息,[data]post数据到Url,proxies设置的代理
     urlrs.readline() 跟文件对象使用一样
     urlrs.readlines() 跟文件对象使用一样
     urlrs.fileno() 跟文件对象使用一样
     urlrs.close() 跟文件对象使用一样
     urlrs.info() 返回一个httplib.HTTPMessage对象,表示远程服务器返回的头信息
     urlrs.getcode() 获取请求返回状态HTTP状态码
     urlrs.geturl() 返回请求的UR


6.re模块:

      一.常用正则表达式符号和语法:
'.' 匹配所有字符串,除\n以外
‘-’ 表示范围[0-9]
'*' 匹配前面的子表达式零次或多次。要匹配 * 字符,请使用 \*。
'+' 匹配前面的子表达式一次或多次。要匹配 + 字符,请使用 \+
'^' 匹配字符串开头
‘$’ 匹配字符串结尾 re
'\' 转义字符, 使后一个字符改变原来的意思,如果字符串中有字符*需要匹配,可以\*或者字符集[*] re.findall(r'3\*','3*ds')结['3*']
'*' 匹配前面的字符0次或多次 re.findall("ab*","cabc3abcbbac")结果:['ab', 'ab', 'a']
‘?’ 匹配前一个字符串0次或1次 re.findall('ab?','abcabcabcadf')结果['ab', 'ab', 'ab', 'a']
'{m}' 匹配前一个字符m次 re.findall('cb{1}','bchbchcbfbcbb')结果['cb', 'cb']
'{n,m}' 匹配前一个字符n到m次 re.findall('cb{2,3}','bchbchcbfbcbb')结果['cbb']
'\d' 匹配数字,等于[0-9] re.findall('\d','电话:10086')结果['1', '0', '0', '8', '6']
'\D' 匹配非数字,等于[^0-9] re.findall('\D','电话:10086')结果['电', '话', ':']
'\w' 匹配字母和数字,等于[A-Za-z0-9] re.findall('\w','alex123,./;;;')结果['a', 'l', 'e', 'x', '1', '2', '3']
'\W' 匹配非英文字母和数字,等于[^A-Za-z0-9] re.findall('\W','alex123,./;;;')结果[',', '.', '/', ';', ';', ';']
'\s' 匹配空白字符 re.findall('\s','3*ds \t\n')结果[' ', '\t', '\n']
'\S' 匹配非空白字符 re.findall('\s','3*ds \t\n')结果['3', '*', 'd', 's']
'\A' 匹配字符串开头
'\Z' 匹配字符串结尾
'\b' 匹配单词的词首和词尾,单词被定义为一个字母数字序列,因此词尾是用空白符或非字母数字符来表示的
'\B' 与\b相反,只在当前位置不在单词边界时匹配
'(?P<name>...)' 分组,除了原有编号外在指定一个额外的别名 re.search("(?P<province>[0-9]{4})(?P<city>[0-9]{2})(?P<birthday>[0-9]{8})","371481199306143242").groupdict("city") 结果{'province': '3714', 'city': '81', 'birthday': '19930614'}
[] 是定义匹配的字符范围。比如 [a-zA-Z0-9] 表示相应位置的字符要匹配英文字符和数字。[\s*]表示空格或者*号。
二.常用的re函数:
方法/属性 作用
re.match(pattern, string, flags=0) 从字符串的起始位置匹配,如果起始位置匹配不成功的话,match()就返回none
re.search(pattern, string, flags=0) 扫描整个字符串并返回第一个成功的匹配
re.findall(pattern, string, flags=0) 找到RE匹配的所有字符串,并把他们作为一个列表返回
re.finditer(pattern, string, flags=0) 找到RE匹配的所有字符串,并把他们作为一个迭代器返回
re.sub(pattern, repl, string, count=0, flags=0) 替换匹配到的字符串
7.. 序列化模块
  1,json模块
  2,pickle模块

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!