更改

跳转至: 导航搜索

Python常用模块

添加426字节, 2020年8月1日 (六) 15:54
无编辑摘要
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 ) 对字符串进行解码 常用正则表达式符号和语法:urllib.urlencode(query[,doseq]) 将dict或者包含两个元素的元组列表转换成url参数。匹配所有字符串,除\n以外 ‘-’ 例如 表示范围[0-9] '*' 字典{‘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:回调函数 字符改变原来的意思 当连接上服务器、以及相应的数据块传输完毕的时候会触发该回调data:指post到服务器的数据rulrs = urllib如果字符串中有字符*需要匹配,可以\*或者字符集[*] re.urlopenfindall(url[,data[r'3\*',proxies]]'3*ds') 抓取网页信息,[data'3*']post数据到Url,proxies设置 '*' 匹配前面 代理urlrs字符0次或多次 re.readline() 跟文件对象使用一样urlrs.readlinesfindall("ab*","cabc3abcbbac") 跟文件对象使用一样结果:['ab', 'ab', 'a']urlrs.fileno() ‘?’ 跟文件对象使用 匹配前 urlrs个字符串0次或1次 re.closefindall('ab?','abcabcabcadf') 跟文件对象使用一样结果['ab', 'ab', 'ab', 'a']urlrs.info() '{m}' 返回 匹配前 个httplib个字符m次 re.HTTPMessage对象,表示远程服务器返回的头信息urlrs.getcode() 获取请求返回状态HTTP状态码urlrs.geturlfindall('cb{1}','bchbchcbfbcbb') 返回请求的URLre模块:结果['cb', 'cb'] '{n,m}' 匹配前 个字符n到m次 re. 常用正则表达式符号和语法:findall('cb{2,3}','.bchbchcbfbcbb' 匹配所有字符串,除\n以外‘-’ 表示范围)结果[0-9'cbb'] '*\d' 匹配 前面的子表达式零次或多次。要匹配 * 字符 数字 请使用 \*。等于[0-9] re.findall('\d','电话:10086'+)结果[' 匹配前面的子表达式一次或多次。要匹配 + 字符,请使用 \+1', '0', '0'^, ' 匹配字符串开头‘$’ 匹配字符串结尾 re8', '6'] '\D' 转义 匹配非数 使后一个字符改变原来的意思,如 等于[^0-9] re.findall('\D','电话:10086')结 ['电', '话', ':'] '\w' 匹配 符串中有 母和数 符*需要匹配 可以\*或者字符集等于[*A-Za-z0-9] re.findall(r'3\*w','3*dsalex123,./;;;')结['3*a', 'l'], '*e', 'x' 匹配前面的字符0次或多次 re.findall("ab*","cabc3abcbbac")结果:['ab1', 'ab2', 'a3']‘?’ '\W' 匹配 前一个 非英文字母和数 符串0次或1次 re.findall('ab?',等于[^A-Za-z0-9] re.findall('\W','abcabcabcadfalex123,./;;;')结果['ab,', 'ab.', 'ab/', ';', ';', 'a;'] '{m}\s' 匹配 前一个 空白 符m次 re.findall('cb{1}\s','bchbchcbfbcbb3*ds \t\n')结果['cb', 'cb\t', '\n'] '{n,m}\S' 匹配 前一个 非空白 符n到m次 re符 re.findall('cb{2,3}\s','bchbchcbfbcbb3*ds \t\n')结果['cbb3', '*'], '\d' , 's'] '\A' 匹配 ,等于[0-9] re.findall(符串开头 '\dZ','电话:10086') 匹配字符串 果[ '1\b', '0', '0', '8', '6']'\D' 匹配非数字 匹配单词的词首和词尾 等于[^0-9] re.findall('\D','电话:10086单词被定义为一个字母数字序列,因此词尾是用空白符或非字母数字符来表示的 ')结果[\B' 电', '话', ':']与\b相反,只在当前位置不在单词边界时匹配 '\w(?P<name>...)' 匹配字母和数字 分组 等于[A-Za-z0除了原有编号外在指定一个额外的别名 re.search("(?P<province>[0-9] re.findall{4})('\w','alex123,./;;;'?P<city>[0-9]{2}) 结果(?P<birthday>[0-9]{8})","371481199306143242").groupdict("city") 结果{'aprovince', : 'l3714', 'ecity', : 'x81', '1birthday', : '2', '319930614'} []'\W' 是定义 匹配 非英文 母和数字,等于符范围。比如 [^Aa-ZazA-z0Z0-9] re.findall('\W','alex123,./;;;')结果表示相应位置的字符要匹配英文字符和数字。[',', '\s*]表示空格或者*号。.', '常用的re函数: 方法/', ';', ';', ';']属性 作用'\s' 匹配空白字符 re.findallmatch('\s'pattern,'3*ds \t\n'string, flags=0) 从字符串的起始位置匹配,如 [' ', '\t', '\n']'\S' 起始位置 匹配 非空白字符 不成功的话,match()就返回none re.findallsearch('\s'pattern, string,'3*ds \t\n'flags=0) 结果['3', '*', 'd', 's']'\A' 匹配 扫描整个 字符串 开头并返回第一个成功的匹配'\Z' re.findall(pattern, string, flags=0) 找到RE 匹配 的所有 字符串 结尾,并把他们作为一个列表返回'\b' re.finditer(pattern, string, flags=0) 找到RE 匹配 单词 词首和词尾 所有字符串 单词被定义 并把他们作 为一个 字母数字序列,因此词尾是用空白符或非字母数字 迭代器返回 re.sub(pattern, repl, string, count=0, flags=0) 替换匹配到的字 来表示的 7. logging模块'\B' 与\b相反,只在当前位置不在单词边界时匹配8. urllib模块:' urllib.quote(?P<name>...string[,safe])' 分组,除了原有 对字符串进行 号外在 码。参数safe 指定 一个额外 了不需要编码 别名 re字符 urllib.searchunquote("string) 对字符串进行解码 urllib.quote_plus(?P<province>string[0-9,safe]{4})(?P<city>[0-9]{2})与urllib.quote类似,但这个方法用‘+‘来替换‘ ‘,而quote用‘%20‘来代替‘ ‘ urllib.unquote_plus(?P<birthday>string ) 对字符串进行解码 urllib.urlencode(query[0-9,doseq]{8})"将dict或者包含两个元素的元组列表转换成url参数。 例如 字典{‘name‘:‘wklken‘,"371481199306143242")‘pwd‘:‘123‘}将被转换为”name=wklken&pwd=123″ urllib.groupdictpathname2url("city"path) 结果{'province': '3714', 'city': '81'将本地路径转换成url路径 urllib.url2pathname(path) 将url路径转换成本地路径 urllib.urlretrieve(url[, 'birthday': '19930614'}filename[] 是定义匹配的字符范围。比如 ,reporthook[a-zA-Z0-9,data]]] ) 表示相应位置的字符要匹配英文字符和 下载远程 字。[\s*]表示空格或者*号。二.常用的re 据到本地 filename:指定保存到本地的路径(若未指定该,urllib生成一个临时文件保存数据) reporthook:回调 函数 方法/属性 作用,当连接上服务器、以及相应的数据块传输完毕的时候会触发该回调re.match(pattern, string data:指post到服务器的数据 rulrs = urllib.urlopen(url[,data[, flags=0proxies]]) 从字符串的起始位置匹配 抓取网页信息 如果起始位 [data]post数据到Url,proxies设 匹配不成功的话,match()就返回none的代理re urlrs.searchreadline(pattern, string, flags=0) 扫描整个字符串并返回第 跟文件对象使用 个成功的匹配re urlrs.findallreadlines(pattern, string, flags=0) 找到RE匹配的所有字符串,并把他们作为 跟文件对象使用 个列表返回re urlrs.finditerfileno() 跟文件对象使用一样 urlrs.close(pattern, string, flags=0) 找到RE匹配的所有字符串,并把他们作为 跟文件对象使用 个迭代器 urlrs.info() 返回一个httplib.HTTPMessage对象,表示远程服务器返回的头信息 urlrs.getcode() 获取请求返回状态HTTP状态码 urlrs.geturl() 返回请求的URL 9: math模块re.sub(pattern, repl, string, count=0, flags=0) 替换匹配到的字符串math模块 ceil:取大于等于x的最小的整数值,如果x是一个整数,则返回x copysign:把y的正负号加到x前面,可以使用0 cos:求x的余弦,x必须是弧度 degrees:把x从弧度转换成角度 e:表示一个常量 exp:返回math.e,也就是2.71828的x次方 expm1:返回math.e的x(其值为2.71828)次方的值减1 fabs:返回x的绝对值 factorial:取x的阶乘的值 floor:取小于等于x的最大的整数值,如果x是一个整数,则返回自身 fmod:得到x/y的余数,其值是一个浮点数 frexp:返回一个元组(m,e),其计算方式为:x分别除0.5和1,得到一个值的范围 fsum:对迭代器里的每个元素进行求和操作 gcd:返回x和y的最大公约数 hypot:如果x是不是无穷大的数字,则返回True,否则返回False isfinite:如果x是正无穷大或负无穷大,则返回True,否则返回False isinf:如果x是正无穷大或负无穷大,则返回True,否则返回False isnan:如果x不是数字True,否则返回False ldexp:返回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**y radians:把角度x转换成弧度 sin:求x(x为弧度)的正弦值 sqrt:求x的平方根 tan:返回x(x为弧度)的正切值 trunc:返回x的整数部分
1,138
个编辑

导航菜单