python学习
jasonLee_lijiaqi
这个作者很懒,什么都没留下…
展开
-
安装scrapy报错 Python.h: 没有那个文件或目录
安装scrapy的时候报错,其实这个错误是一个间接,由其依赖引起。 build/temp.linux-x86_64-2.7/twisted/test/raiser.o twisted/test/raiser.c:4:20: fatal error: Python.h: 没有那个文件或目录 #include “Python.h” ^ compilation terminated. er...原创 2018-05-23 16:16:43 · 991 阅读 · 1 评论 -
python3 正则表达式re.sub()函数
转载自http://blog.csdn.net/mrzhoug/article/details/51585615转载 2018-03-08 10:49:19 · 23568 阅读 · 0 评论 -
Ubuntu下安装sublime并解决不能输入中文的问题
Ubuntu下下载使用sublime进入官网http://www.sublimetext.com/3下载你的Sublime Text 3,然后解压文件。把解压后得到的文件移动到/usr/lib/下sudo mv sublime_text_3 /usr/lib/给它添加终端快捷命令,以后你在终端输入subl就可以打开sublime了sudo ln -s /usr/lib/subl...原创 2018-02-18 00:21:27 · 1150 阅读 · 0 评论 -
python3 timeit:计算小段代码的执行时间的模块
timeit:计算小段代码的执行时间的模块这个python官方推荐的代码计时模块,比time模块更好'''计算小段代码的执行时间的模块'''import timeitdef test(): text = 'i love you' if 'o' in text: pass#执行test函数十万次的时间a = timeit.timeit(st...原创 2018-02-17 21:54:25 · 3735 阅读 · 0 评论 -
python中与类相关的BIF
和类相关的BIF#issubclass(class,classinfo),class是否是classinfo的子类(继承关系)class A: def __init__(self): self.x = 1 def getSize(self): return self.x def setSize(self,value): ...原创 2018-02-17 20:32:39 · 628 阅读 · 0 评论 -
python3 类中声明一个静态函数--@staticmethod
@staticmethod声明该函数为类中的静态函数,为所有的实例对象所共有class A: total = 0 def fun1(self): A.total += 1 print('父类正在被调用') ''' 定义一个静态函数(静态方法) 使用@staticmethod ''' @staticm...原创 2018-02-17 17:52:59 · 1236 阅读 · 0 评论 -
python中的魔法方法总结
python所有的魔法方法汇总原创 2018-02-17 17:02:07 · 418 阅读 · 0 评论 -
python3 print输出不换行
python 3.x版本输出不换行格式如下print(x, end=" ") # end="" 可使输出不换行。双引号之间的内容就是结束的内容,# 可以是空格,也可以是其他字符。默认为换行比如:print(x,end=” ! ”) # 以!为结尾python2 输出不换行格式a = [1,2,3]for x in a: print x, #只需...原创 2018-02-08 15:39:11 · 10810 阅读 · 0 评论 -
tuple创建的注意事项
tuple创建只有一个对象的元组的时候,需要注意tuple1 = (1) 这样创建的元组是错误的,tuple1是int类型应该这样创建 tuple1 = (1,) 或者tuple1 = 1,划重点!!!tuple元组的标志在于中间的‘,’(逗号),而不是小括号...原创 2018-02-08 15:30:31 · 289 阅读 · 0 评论 -
Python list的基本操作
添加list中的append只能一次插入一个对象name = ['1','2','3']name.append('2')print(name)想要插入多个对象,使用extend(); 需要注意的是extend中的参数 必须是列表,需要将多个对象组合成列表的形式; 因此,extend还可以将两个列表进行合并 例子如下:p = [2,3]name.extend(p)p...原创 2018-02-07 22:53:59 · 235 阅读 · 0 评论 -
python3 类中的运算符重载
#工厂函数#运算符重载的方法class Try_str(str): def __add__(self, other): return int(self) + int(other) def __sub__(self, other): return int(self) - int(other) ''' 下面这些都可以进行运算符的重...原创 2018-02-16 22:36:31 · 1453 阅读 · 0 评论 -
python3 构造函数和析构函数
要点:1、魔法方法,被__双下划线所包围在适当的时候自动被调用2、在创建一个对象的时候,一定会调用构造函数3、 del析构函数,在del a对象的时候,并一定会调用该析构函数只有当该对象的引用计数为0时才会调用析构函数,回收资源析构函数被python的垃圾回收器销毁的时候调用。当某一个对象没有被引用时,垃圾回收器自动回收资源,调用析构函数#coding=utf-...原创 2018-02-16 21:58:06 · 6546 阅读 · 0 评论 -
python中的函数修饰符“@”
Python函数修饰符,“@”,与其说是修饰函数倒不如说是引用、调用它修饰的函数。举个栗子,下面的一段代码,里面两个函数,没有被调用,也会有输出结果: def test(f): print "before ..." f() print "after ..." @test def func(): ...转载 2018-02-16 17:41:53 · 1395 阅读 · 2 评论 -
python3 继承 在子类中如何调用父类中的方法
继承两种在子类调用父类函数的方法:一、使用未绑定子类的父类的方法,要传入子类的对象,即self A.func(self)二、使用super()调用 super().func()'''继承'''class A: # a = 1 def func(self): self.a = 8 print('123') d...原创 2018-02-15 00:05:47 · 10435 阅读 · 0 评论 -
Python的类变量和对象变量声明解析
Python的类和C++一样,也都是存在两种类型的变量,类变量和对象变量!前者由类拥有,被所有对象共享,后者由每个对象独有。这里我主要想讨论一下他们的声明办法。首先说的是对象变量:只要是声明在类的语句块中,且没有”self.”前缀的变量都是类变量,且类变量是被所有对象共享的。 注意加粗部分,如果声明在类的方法的语句块中,那么就是局部变量了!比如下面这个例子: 复制代码...转载 2018-02-14 23:43:57 · 4894 阅读 · 0 评论 -
Python3 使用GUI统计代码量的例子
# coding=utf-8'''选择一个路径遍历路径下的每一个文件,统计代码量字典存储 每一种类型文件的代码行数,eg: *.py -> 行数全局变量 总行数需要注意的是,这里仅仅能打开utf-8编码的文件,其他类型的文件无法打开,会出现解码错误解决方法:使用try-except语句,遇到解码错误就跳过,即 except UnicodeDecodeError:'''i...原创 2018-02-14 20:43:39 · 437 阅读 · 0 评论 -
python3 Easygui的使用
import easygui as gimport sysimport PIL #图像库,必须要安装,要不然不能显示图像g.egdemo()#msgbox()g.msgbox('hello world!','标题','确认')#choicebox()g.choicebox('你相信我吗?',choices=['相信','不相信'])#ccbox() 选择窗口if g.ccb...原创 2018-02-14 00:17:47 · 3562 阅读 · 0 评论 -
python3 安装PIL
关于Pillow与PILPIL(Python Imaging Library)是Python一个强大方便的图像处理库,名气也比较大。不过只支持到Python 2.7。PIL官方网站:http://www.pythonware.com/products/pil/Pillow是PIL的一个派生分支,但如今已经发展成为比PIL本身更具活力的图像处理库。目前最新版本是3.0.0。Pillo...转载 2018-02-13 22:21:17 · 1521 阅读 · 0 评论 -
python3 魔法方法:属性访问
类中的获取属性、设置属性的方法:重载属性访问函数'''类中的获取属性、设置属性的方法:重载属性访问函数'''class C: #定义当该类的属性被访问时的行为(不管是不是存在该属性,若不存在,则调用__getattr__(self,name)) #例如:对于类的实例对象object,执行print(object.x)获取object的x属性,就会调用该函数 ...原创 2018-02-18 22:22:08 · 1098 阅读 · 0 评论 -
Python使用re实现str.strip()方法,去除首尾的空格
主要用到的新知识:‘+d_str+’ 对某一个d_str变量中的字符串进行正则匹配话不多说,先上代码;'''类似于str方法中的strip方法去除首尾两端的指定字符或字符串'''import redef py_strip(p_str, d_str=' '): temp = re.search(r'[^('+d_str+')].*',p_str).group() ...原创 2018-03-08 14:42:45 · 4783 阅读 · 0 评论 -
Python:爬虫异常处理URLError & HTTPError
'''爬虫异常处理URLErrorHTTPError:是URLError的子类,所以如果URLError和HTTPError同时出现的话,要将HTTPError写在前面,URLError写在后面'''import urllib.requestimport urllib.error'''URLError错误'''req = urllib.request.Request('ht...原创 2018-03-13 16:06:13 · 920 阅读 · 0 评论 -
linux下创建virtualenv时指定python版本
virtualenv是python开发中一个重要的工具,它可以帮助我们创建一个干净的python解释环境,创建虚拟环境时,这个虚拟环境的 python版本往往是系统默认的2.x版本.别急,我们只需要一条简单的命令就可以创建一个python3.x的虚拟环境virtualenv -p /usr/bin/python3 py3env其中,py3env是虚拟环境的名称,可以根据自己的需求命...原创 2018-05-22 17:06:53 · 2604 阅读 · 2 评论 -
python中执行shell命令的几个方法小结
最近有个需求就是页面上执行shell命令,第一想到的就是os.system, 代码如下:os.system('cat /proc/cpuinfo')但是发现页面上打印的命令执行结果 0或者1,当然不满足需求了。尝试第二种方案 os.popen() 代码如下:output = os.popen('cat /proc/cpuinfo')print output.read()通...原创 2018-05-27 09:27:14 · 33172 阅读 · 0 评论 -
requests.get中response乱码问题---编码问题
参考如下: https://segmentfault.com/q/1010000000340967 python保存网页到本地出错 https://segmentfault.com/q/1010000000341014 使用requests库抓取页面的时候的编码问题原创 2018-05-14 17:07:33 · 1260 阅读 · 0 评论 -
Xpath当前节点寻找父节点下的子节点
HTML的结构如下:<section class="AutoTest"> <a title="xpath" href="#"></a> <div style="#"> webdriver ui auto Test ! </div>&原创 2018-05-14 14:44:13 · 11662 阅读 · 0 评论 -
Ubuntu安装openpyxl出现的问题以及解决方案
安装openpyxl之前,需要将pip更新到最新版本,如果不更新到最新版本,会出现如下的报错: 更新pip命令:sudo pip install --upgrade pip安装完最新的pip之后,执行如下命令:(一定要使用root权限)sudo pip install openpyxl出现如下信息,就说明安装成功了。...原创 2018-05-14 09:48:09 · 6211 阅读 · 0 评论 -
解决No module named 'openpyxl' - Python 3.4 - Ubuntu
参考:http://www.itkeyword.com/doc/5783741505463668x366/no-module-named-openpyxl-python-3-4-ubuntureason::pip refers to Python 2 as a default in Ubuntu, this means that pip install x will install t...原创 2018-05-13 21:29:10 · 4211 阅读 · 0 评论 -
python下的MySQLdb使用
http://blog.51cto.com/drizzlewalk/448874原创 2018-05-19 20:43:12 · 313 阅读 · 0 评论 -
用命令创建MySQL数据库
一、连接MYSQL 格式: mysql -h主机地址 -u用户名 -p用户密码 1、 连接到本机上的MYSQL。 首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root -p,回车后提示你输密码.注意用户名前可以有空格也可以没有空格,但是密码前必须没有空格,否则让你重新输入密码. 如果刚安装好MYSQL,超级用户root是没有密码的,故直接...原创 2018-05-19 19:58:19 · 301 阅读 · 0 评论 -
mysql-python安装
参考自:https://www.cnblogs.com/halu126/p/6617828.html操作系统:ubuntu16.04-gnome首先要安装mysql数据sudo apt install mysql-server我们使用pip进行安装第三方模块系统python版本为2.7.12,默认没有pip,首先安装pipsudo apt install python-...原创 2018-05-19 17:34:03 · 1041 阅读 · 0 评论 -
Ubuntu解决包依赖关系
问题:apt-get install libprotobuf-dev下列软件包有未满足的依赖关系: libprotobuf-dev : 依赖: zlib1g-dev 但是它将不会被安装 E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。原因:Linux下经常需要安装不同类型的库,在Ubuntu中,这些类库都是以“lib_name-vers...原创 2018-05-19 17:23:17 · 3603 阅读 · 1 评论 -
Python中requests模块详解
参考:https://www.cnblogs.com/lei0213/p/6957508.html原创 2018-05-17 17:26:07 · 663 阅读 · 0 评论 -
Python3下用tkinter和PIL实现简单的显示图片
想做看图工具的,必然要支持jpg、png等常见格式,但tkinter是个纯粹的GUI库,不像GTK、QT那样大而全,所以只支持gif和ppm两种格式,局限很大,必须搭配图像处理库,才能实现基本的看图功能 在python生态系统里,最常用的图像处理库是PILPython3下库的安装 这两个库在python3下跟python2有一定差异: tkinter首字母变成小写 PIL官方...转载 2018-03-20 21:30:35 · 29839 阅读 · 3 评论 -
TKinter布局之pack
pack布局非常简单,不用做过多的设置,直接使用一个 pack 函数就可以了。1、我们使用 pack 函数的时候,默认先使用的放到上面,然 后 依次向下排,它会给我们的组件一个自认为合适的位置 和大小,这是默认方式。2、可接受的参数: side:按扭停靠在窗口的哪个位置 left: 左 top: 上 right: 右 botton: 下 ...原创 2018-03-24 16:03:01 · 1518 阅读 · 0 评论 -
scrapy中Request对象
转载自雷子-LL原创 2018-03-19 21:10:37 · 469 阅读 · 0 评论 -
Python爬虫获取代理ip及端口
'''爬取代理ip可以作为模块使用,在使用代理ip的时候直接调用该模块即可。'''import reimport urllib.requestdef ExtractIP(url='http://www.xicidaili.com/'): headers = {'User-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:5...原创 2018-03-06 15:43:17 · 3271 阅读 · 0 评论 -
Python3中正则表达式的特殊符号及用法
转载自bbs.fishc.com 鱼C论坛原创 2018-03-06 15:37:37 · 2964 阅读 · 0 评论 -
ubuntu16.04安装Scrapy
安装过程:http://blog.csdn.net/qq_30242609/article/details/52810765如果遇见如下问题: 在Ubuntu中,有时候运用sudo apt-get install 安装软件时,会出现一下的情况 E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporar...原创 2018-03-13 16:47:41 · 535 阅读 · 0 评论 -
正确使用正则表达式
'''正则表达式的使用'''import re#通过re模块,将正则表达式编译成模式对象,用模式对象进行匹配p = re.compile(r'ab+')temp = p.match('bcdeabc')#match对象的方法if None != temp: print(temp.group()) #返回匹配的字符串 print(temp.start()) ...原创 2018-02-27 15:46:30 · 414 阅读 · 0 评论 -
ubuntu安装easygui模块
使用pip安装easygui如果未安装pip,则使用如下命令sudo apt-get install python-pip安装完pip后,使用如下命令安装easyguisudo pip install easygui出现如下提示信息就算安装成功了 Collecting easygui Downloading easygui-0.98.1-py2.py3...原创 2018-02-13 15:59:28 · 1414 阅读 · 0 评论