Python常用模塊

出自 YTYZX有图有真相的百科
於 2020年8月1日 (六) 15:27 由 Ytyzx (對話 | 貢獻) 所做的修訂
前往: 導覽搜尋
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