pyhton-设置python默认为python3

在shell 里面执行

<

p class=”hljs vim”>sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100

sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150

 

如要切换回pyhton2

sudo update-alternatives --config python

选择你要切换的数字即可!

遇到以下的问题的时候可以用该方法:

1.youcomplateme的问题

YouCompleteMe unavailable: requires Vim compiled with Python (2.7 or 3.4+) support.
You need vim compiled with Python 2.6, 2.7 or 3.2 and later support
for Powerline to work. Please consult the documentation for more
details.
注意查看报错这里显示youcomplateme不能实现的原因是python版本,需要python2.6、python2.7或者3.2以及之后的版本来支持youcomplateme.

注意:遇到问题一定要会看报错,要临机应变。

pyhton-re

此练习用python3

学习爬虫必不可少的还有正则表达式。什么是正则表达式?正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。

正则表达式之常用的函数

1.re.match(pattern, string, flags=0)  #flags一般默认不写

re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none。

eg.

import re
a = ["www.baidu.com/", "www.google.cn"]
pattern = '^w{0,3}.[z-a]{0,6}.[a-z]{0,3}.'
for ee in a:
    matchObj = re.match(pattern, ee)
    of matchObj:
        print (matchObj.group())

2.re.search(pattern, string, flags=0)

re.search 扫描整个字符串并返回第一个成功的匹配。

eg.

import re
a = ["www.baidu.com/", "www.google.cn"]
pattern = '^w{0,3}.[z-a]{0,6}.[a-z]{0,3}.'
for ee in a:
    matchObj = re.search(pattern, ee)
    of matchObj:
        print (matchObj.group())

re.match与re.search的区别

re.match只匹配字符串的开始,如果字符串开始不符合正则表达式,则匹配失败,函数返回None;而re.search匹配整个字符串,直到找到一个匹配。

re.compile函数

eg.

import re
a = 'this is a question'
p = re.compile('^[a-z]{0,4}...')
print (p.findall(a))

结果显示:

[‘this is’]

re.compile一般用findall打印结果

python–cookie

#cookie是某些网站为了辨别用户身份,进行session跟踪而储存在用户终端上的数据。用到的库为cookielib

import urllib2
import cookielib
cookie = cookielib.CookieJar()  #建立cookie
handler = urllib2.HTTPCookieProcessor(cookie)  #用HTTPCookieProcessor建立一个cookie的处理器
opener = urllib2.build_opener(handler)  #打开处理的cookie
response = opener.open("http://www.xxx.com") #响应xxx这个网址 
for item in cookie:
    print ('Name =')+item.name
    print ('Value')+item.value