更改

跳转至: 导航搜索

Python常用模块

删除1,167字节, 2020年8月1日 (六) 15:27
无编辑摘要
urllib 1. time 模块 :常用表示时间方式 urllib.quote(string[,safe]) 时间戳,格式化的时间 字符串 进行编码。参数safe指定了不需要编码的字符,元组(struct_time)urllib 2.unquote(string) OS模块 对字符串进行解码3. sys模块urllib.quote_plus(string[,safe]) 与urllib4.quote类似,但这个方法 configparser模块: ‘+‘来替换‘ 于生成和修改常见配置文档。 ‘,而quote用‘%20‘来代替‘ 5. hashlib模块 6. re正则表达式模块:urllib.unquote_plus(string ) 常用正则表达式符号和语法: '.' 匹配所有 字符串 进行解码,除\n以外urllib.urlencode(query ‘-’ 表示范围[,doseq0-9]) '*' 将dict或者包含两个元素 匹配前面 元组列 转换成url参数 达式零次或多次 要匹配 * 例如 字符,请使用 \*。 '+' 字典{‘name‘:‘wklken‘,‘pwd‘:‘123‘}将被转换为”name=wklken&pwd=123″urllib.pathname2url(path) 匹配前面的子表达式一次或多次。要匹配 + 将本地路径转换成url路径字符,请使用 \+urllib.url2pathname(path) '^' 将url路径转换成本地路径匹配字符串开头urllib.urlretrieve(url[,filename[,reporthook[,data]]]) ‘$’ 匹配字符串结尾 re '\' 下载远程数据到本地filename:指定保存到本地的路径(若未指定该,urllib生成一个临时文件保存数据)reporthook:回调函数 转义字符, 使后一个字符改变原来的意思,如果字符串中有字符*需要匹配 当连接上服务器、 及相应的数据块传输完毕的时候会触发该回调\*或者字符集[*] re.findall(r'3\*','3*ds')结['3*']data:指post到服务器 '*' 匹配前面 数据rulrs = urllib字符0次或多次 re.urlopenfindall(url["ab*",data"cabc3abcbbac")结果:['ab',proxies'ab', 'a']]) ‘?’ 抓取网页信息,[data]post数据到Url匹配前一个字符串0次或1次 re.findall('ab?',proxies设置的代理urlrs.readline('abcabcabcadf') 跟文件对象使用 结果['ab', 'ab', 'ab', 'a'] '{m}' 匹配前 urlrs个字符m次 re.readlines() 跟文件对象使用一样urlrs.filenofindall('cb{1}','bchbchcbfbcbb') 跟文件对象使用一样结果['cb', 'cb']urlrs.close() '{n,m}' 跟文件对象使用 匹配前 urlrs个字符n到m次 re.infofindall('cb{2,3}','bchbchcbfbcbb') 结果['cbb'] '\d' 返回一个httplib.HTTPMessage对象 匹配数字 表示远程服务器返回的头信息urlrs等于[0-9] re.getcodefindall('\d','电话:10086') 结果['1', '0', '0', '8', '6'] '\D' 获取请求返回状态HTTP状态码urlrs匹配非数字,等于[^0-9] re.geturlfindall() 返回请求的URLre模块:一.常用正则表达式符号和语法:'\D','电话:10086')结果['电', '话', ':'] '.\w' 匹配 所有 符串 母和数字 除\n以外等于[A-Za- ’ 表示范围[0z0-9]re.findall('\w','*alex123,./;;;' 匹配前面的子表达式零次或多次。要匹配 * 字符,请使用 \*。)结果['a', '+l' 匹配前面的子表达式一次或多次。要匹配 + 字符,请使用 \+, '^e', 'x', '1', '2', '3'] '\W' 匹配 非英文 符串开头‘$’ 匹配 母和数 符串结尾 ,等于[^A-Za-z0-9] re.findall('\W',' 转义字符, 使后一个字符改变原来的意思,如果字符串中有字符*需要 alex123,./;;;')结果[',', '.', '/', ';', ';', ';'] '\s' 匹配 ,可以\*或者 空白 字符 集[*] re.findall(r'3\*s','3*ds\t\n')结['3*', '\t', '\n'] '*\S' 匹配 前面的 非空白 符0次或多次 re.findall("ab'\s','3*","cabc3abcbbac"ds \t\n')结果 ['ab3', '*', 'abd', 'as']‘?’ '\A' 匹配 前一个 字符 串0次或1次 re.findall(串开头 '\Z'ab?','abcabcabcadf') 匹配字符串 果[ 'ab\b', 'ab', 'ab', 'a']'{m}' 匹 前一个字符m次 re.findall('cb{1}','bchbchcbfbcbb')结果[单词的词首和词尾,单词被定义为一个字母数字序列,因此词尾是用空白符或非字母数字符来表示的 'cb', 'cb']'{n,m}\B' 匹配 与\b相反,只在当 一个字符n到m次 re位置不在单词边界时匹配 '(?P<name>...findall()'cb{2,3}','bchbchcbfbcbb')结果['cbb']'\d' 匹配数字 分组 等于除了原有编号外在指定一个额外的别名 re.search("(?P<province>[0-9] re.findall{4})('\d','电话:10086')结果?P<city>['1', '0', '-9]{2})(?P<birthday>[0', '-9]{8'})", "371481199306143242").groupdict("city") 结果{'province': '6']3714'\D, ' 匹配非数字,等于[^0-9] re.findall(city': '\D81',' 电话birthday':10086')结果['电', '话', ':19930614'} []'\w' 是定义 匹配 母和数字,等于符范围。比如 [Aa-ZazA-z0Z0-9] re.findall('\w','alex123,./;;;')结果表示相应位置的字符要匹配英文字符和数字。['a', 'l', 'e', 'x', '1', '2', '3']\s*]表示空格或者*号。 二.常用的re函数:'\W' 方法/属性 作用 re.match(pattern, string, flags=0) 从字符串的起始位置 匹配 非英文字母和数字,等于[^A-Za-z0-9] ,如果起始位置匹配不成功的话,match()就返回none re.findallsearch('\W'pattern,'alex123string,./;;;'flags=0) 结果[',', '扫描整个字符串并返回第一个成功的匹配 re.'findall(pattern, '/'string, ';', ';', ';']'\s' flags=0) 找到RE 匹配 空白 的所有 字符 re.findall('\s'串,并把他们作为一个列表返回 re.finditer(pattern, string,'3*ds \t\n'flags=0) 结果[' ', '\t', '\n']'\S' 找到RE 匹配 非空白 的所有 字符 串,并把他们作为一个迭代器返回 re.findallsub('\s'pattern, repl,'3*ds \t\n')结果['3'string, '*'count=0, 'd', 's']'\A' flags=0) 替换 匹配 到的 字符串 开头'\Z' 匹配字符串结尾7. logging模块'\b' 匹配单词的词首和词尾,单词被定义为一个字母数 8. urllib模块: urllib.quote(string[,safe]) 对 序列,因此词尾是用空白 或非字母数 串进行编码。参数safe指定了不需要编码的 字符 来表示的'\B' urllib.unquote(string) 与\b相反,只在当前位置不在单词边界时匹配'(?P<name>...对字符串进行解码 urllib.quote_plus(string[,safe])' 分组 与urllib.quote类似 除了原有编号外在指定一 但这 额外的别名 re.search方法用‘+‘来替换‘ ‘,而quote用‘%20‘来代替‘ ‘ urllib.unquote_plus("(?P<province>string ) 对字符串进行解码 urllib.urlencode(query[0-9,doseq]{4})(?P<city>[0-9]将dict或者包含两个元素的元组列表转换成url参数。 例如 字典{2‘name‘:‘wklken‘,‘pwd‘:‘123‘})将被转换为”name=wklken&pwd=123″ urllib.pathname2url(?P<birthday>[0-9]{8})","371481199306143242").groupdict("city"path) 结果{'province': '3714', 'city': '81', 'birthday': '19930614'}将本地路径转换成url路径 urllib.url2pathname(path) 将url路径转换成本地路径 urllib.urlretrieve(url[] 是定义匹配的字符范围。比如 ,filename[,reporthook[a-zA-Z0-9,data]]] ) 表示相应位置的字符要匹配英文字符和 下载远程 字。[\s*]表示空格或者*号。据到本地 filename:指定保存到本地的路径(若未指定该,urllib生成一个临时文件保存数据)二.常用的re reporthook:回调 函数 方法/属性 作用re.match(pattern, string, flags=0) 从字符串 ,当连接上服务器、以及相应的数据块传输完毕 起始位置匹配,如果起始位置匹配不成功 时候会触发该回调 data:指post到服务器 话,match()就返回none数据re rulrs = urllib.searchurlopen(patternurl[, stringdata[, flags=0proxies]]) 扫描整个字符串并返回第一个成功 抓取网页信息,[data]post数据到Url,proxies设置 匹配代理re urlrs.findallreadline() 跟文件对象使用一样 urlrs.readlines(pattern, string, flags=0) 找到RE匹配的所有字符串,并把他们作为 跟文件对象使用 个列表返回re urlrs.finditerfileno(pattern, string, flags=0) 找到RE匹配的所有字符串,并把他们作为 跟文件对象使用 个迭代器返回re urlrs.subclose(pattern, repl, string, count=0, flags=0) 替换匹配到的字符串math模块ceil:取大于等于x的最小的整数值,如果x是 跟文件对象使用 个整数,则返回xcopysign:把y的正负号加到x前面 urlrs.info() 返回一个httplib.HTTPMessage对象 可以使用0cos:求x 表示远程服务器返回 余弦,x必须是弧度头信息degrees:把x从弧度转换成角度e:表示一个常量exp: urlrs.getcode() 获取请求 回math.e,也就是2.71828的x次方回状态HTTP状态码expm1:返回math urlrs.e的xgeturl( 其值为2.71828) 次方的值减1fabs: 回x的绝对值factorial:取x的阶乘的值floor:取小于等于x的最大的整数值,如果x是一个整数,则返回自身fmod:得到x/y的余数,其值是一个浮点数frexp:返回一个元组(m,e),其计算方式为:x分别除0.5和1,得到一个值的范围fsum:对迭代器里的每个元素进行求和操作gcd:返回x和y的最大公约数hypot:如果x是不是无穷大的数字,则返回True,否则返回Falseisfinite:如果x是正无穷大或负无穷大,则返回True,否则返回Falseisinf:如果x是正无穷大或负无穷大,则返回True,否则返回Falseisnan:如果x不是数字True,否则返回Falseldexp:返回x*(2**i)的值log:返回x的自然对数,默认以e为基数,base参数给定时,将x的对数返回给定的base,计算式为:log(x)/log(base)log10:返回x的以10为底的对数log1p:返回x+1的自然对数(基数为e)的值log2:返回x的基2对数modf:返回由x的小数部分和整数部分组成的元组pi:数字常量,圆周率pow:返回x的y次方,即x**yradians:把角度x转换成弧度sin:求x(x为弧度)的正弦值sqrt:求x的平方根tan:返回x(x为弧度)的正切值trunc:返回x的整数部分回请求的URL
1,138
个编辑

导航菜单