“Python常用模块”的版本间的差异
(创建页面,内容为“urllib模块: urllib.quote(string[,safe]) 对字符串进行编码。参数safe指定了不需要编码的字符 urllib.unquote(string) 对字符串进行解码 ur...”) |
|||
第1行: | 第1行: | ||
− | + | 1. time 模块:常用表示时间方式 : 时间戳,格式化的时间 字符串 ,元组(struct_time) | |
− | + | 2. OS模块 | |
− | + | 3. sys模块 | |
− | + | 4. configparser模块: 用 于生成和修改常见配置文档。 | |
− | + | 5. hashlib模块 | |
− | + | 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. logging模块 | |
− | + | 8. urllib模块: | |
− | + | urllib.quote(string[,safe]) 对 字符 串进行编码。参数safe指定了不需要编码的 字符 | |
− | + | urllib.unquote(string) 对字符串进行解码 | |
− | + | urllib.quote_plus(string[,safe]) 与urllib.quote类似 , 但这 个 方法用‘+‘来替换‘ ‘,而quote用‘%20‘来代替‘ ‘ | |
− | + | urllib.unquote_plus(string ) 对字符串进行解码 | |
− | + | urllib.urlencode(query[,doseq]) 将dict或者包含两个元素的元组列表转换成url参数。 | |
− | + | 例如 字典{ ‘name‘:‘wklken‘,‘pwd‘:‘123‘} 将被转换为”name=wklken&pwd=123″ | |
− | [ | + | urllib.pathname2url(path) 将本地路径转换成url路径 |
− | + | urllib.url2pathname(path) 将url路径转换成本地路径 | |
− | + | urllib.urlretrieve(url[,filename[,reporthook[,data]]]) 下载远程 数 据到本地 | |
− | + | filename:指定保存到本地的路径(若未指定该,urllib生成一个临时文件保存数据) | |
− | + | reporthook:回调 函数 ,当连接上服务器、以及相应的数据块传输完毕 的 时候会触发该回调 | |
− | + | data:指post到服务器 的 数据 | |
− | + | 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() 返 回请求的URL | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
2020年8月1日 (六) 15:27的版本
1. time模块:常用表示时间方式: 时间戳,格式化的时间字符串,元组(struct_time) 2. OS模块 3. sys模块 4. configparser模块:用于生成和修改常见配置文档。 5. hashlib模块 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. logging模块 8. urllib模块: urllib.quote(string[,safe]) 对字符串进行编码。参数safe指定了不需要编码的字符 urllib.unquote(string) 对字符串进行解码 urllib.quote_plus(string[,safe]) 与urllib.quote类似,但这个方法用‘+‘来替换‘ ‘,而quote用‘%20‘来代替‘ ‘ urllib.unquote_plus(string ) 对字符串进行解码 urllib.urlencode(query[,doseq]) 将dict或者包含两个元素的元组列表转换成url参数。 例如 字典{‘name‘:‘wklken‘,‘pwd‘:‘123‘}将被转换为”name=wklken&pwd=123″ urllib.pathname2url(path) 将本地路径转换成url路径 urllib.url2pathname(path) 将url路径转换成本地路径 urllib.urlretrieve(url[,filename[,reporthook[,data]]]) 下载远程数据到本地 filename:指定保存到本地的路径(若未指定该,urllib生成一个临时文件保存数据) reporthook:回调函数,当连接上服务器、以及相应的数据块传输完毕的时候会触发该回调 data:指post到服务器的数据 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() 返回请求的URL