- 博客(73)
- 收藏
- 关注
原创 Python中常见运算符重载方法
在类中,对内置对象(例如:整数和列表)所能做的事,几乎都有相应的特殊名称的重载方法。最常见的就是重载类的构造函数(__init__函数) 方法 重构 调用 __init__ 构造函数 对象建立:X = Class(args) __del__ 析构函数 X对象收回 __add__ 运算符+ 如果没有_iadd_, X + Y, X += Y __or_
2016-12-10 11:05:37
5314
原创 python socket编程(传输字符、文件、图片)
socket官方文档:https://docs.python.org/2/library/socket.htmlsocket中文详细介绍:http://blog.csdn.net/rebelqsp/article/details/22109925查看某端口是否被占用(如6666端口):sudo netstat -nap | grep 6666 如果没有查找到6666端口则说明没有被占用(额,有点废话
2016-12-06 19:37:18
50250
39
原创 Python中类和实例关系
类类是实例工厂。类的属性提供了行为(数据以及函数),所有从类产生的实例都继承该类的属性类对象提供默认行为class语句创建类对象并将其赋值给变量名class语句内的赋值语句会创建类的属性类属性提供对象的状态和行为实例代表程序领域中具有的元素。实例属性记录数据,而每个特定对象的数据都不同实例对象是具体的元素像函数那样调用类对象会创建新的实例对象每个实例对象继承类的属性并获得了自己的命名空间
2016-12-05 23:49:06
1191
原创 systemd实现python的守护进程
守护进程(Daemon)是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。(摘自百度百科)之前有转过一遍python实现守护进程方法的博客,这次我们看看用systemd是如何实现的。有关systemd的介绍和使用推荐阮一峰老师的以下两篇博客,写的非常详细和全面命令篇实践篇下面我们看看用systemd如何实现守护进程#!/usr/bin/env pyt
2016-12-05 17:48:12
11806
原创 selenium报WebDriverException错误
众所周知,Python是爬虫的利器,最近在做一爬虫,爬取网易云音乐热门歌曲的热门评论,发现网站是js的,所以想用selenium模拟浏览器渲染js后再获取相应的内容from selenium import webdriverbrowser = webdriver.Chrome()实例化谷歌浏览器对象时报以下错误WebDriverException: Message: 'chromedriver' e
2016-11-30 09:11:20
3275
原创 python 生成器、列表/字典/集合解析式区别
一、列表解析列表解析也叫列表推导式,是python编程中常用到的语法糖。列表推导是一个将一个列表(实际上是任意可迭代对象)转换成另一个列表的工具。在转换时,每个元素都可以按照某个条件被包含在新的列表中,并根据需要做出一些变换。先看一例子,比如我想把某列表中的每项值都乘以2# 迭代列表for方法nlist = range(5) # 用range内置函数快速生成列表[0, 1, 2, 3, 4]
2016-11-14 00:35:11
4322
原创 flask学习笔记
Flask 学习笔记一、为路由新增正则表达式的支持参考:https://segmentfault.com/q/1010000000125259#!/usr/bin/env python# -*- coding=utf-8 -*-from flask import Flaskfrom werkzeug.routing import BaseConverterclass RegexConverter
2016-09-10 21:00:39
3206
转载 常见python面试题
转自:https://github.com/taizilongxu/interview_pythonPython语言特性 1 Python的函数参数传递2 Python中的元类(metaclass)3 @staticmethod和@classmethod4 类变量和实例变量5 Python自省6 字典推导式7 Python中单下划线和双下划线8 字符串格式化:%和.format9
2016-09-10 16:56:16
11451
1
原创 Linux终端缩短路径名
有时候,我们cd到比较深层的目录时,终端一半的宽度都被路径名占领了,导致可用的空间变少(很不爽)。我们可以通过以下方法把路径名缩短 ### 1、打开vim ~/.bashrc 文件 ### 2、找到以下内容行: if [ "$color_prompt" = yes ]; then PS1='${debian_chroot:+($debian_chroot)}\[\033[
2016-09-06 16:28:03
2795
原创 vimrc文件迁移到别的机器报错
很多时候我们需要连接到服务器进行开发,而服务器中vim的配置一般是最原始的或者并非自己本机所习惯的配置。一来没有效率;二来写代码时不爽。遇到这种情况我们可以把自己本机的vim配置copy一份到服务器,一般把 ~/.vimrc 配置文件和 ~/.vim 整个目录下的文件同步到服务器(.vim文件里包含了vim的插件以及主题配色等)因为服务器总是不止你一个人连上去开发的,所以你的vim配置不一定让其他同
2016-08-17 18:31:32
1663
转载 Python多线程详解
转自:http://www.cnblogs.com/huxi/archive/2010/06/26/1765808.html 参考:http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001386832360548a6491f20c62d427287739fcfa5d5be1f000一
2016-08-11 16:33:23
27709
原创 Linux下vim的配置
一、安装vim插件管理工具Vundle1、创建文件夹 mkdir -p ~/.vim/bundle2、克隆Vundle到bundle目录下 git clone git@github.com:VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim创建vimrc(vim的配置文件)可以直接克隆我的vim配置文件到你的本地 git clone g
2016-07-27 14:42:14
9113
2
原创 shell学习笔记
以下时个人在菜鸟教程中学习shell的学习笔记运行Shell脚本有两种方法:1、作为可执行程序chmod +x ./test.sh #使脚本具有执行权限./test.sh #执行脚本注意,一定要写成./test.sh,而不是test.sh,运行其它二进制的程序也一样,直接写test.sh,linux系统会去PATH里寻找有没有叫test.sh的,而只有/bin, /sbin, /usr/bi
2016-07-11 15:56:00
2406
原创 Python格式字符串两种方法比较
编程中跟字符串打交道那是最常见的了,常用的有以下两种方法格式化字符串(% or .format)方法一(%)# 需格式话的字符串必须一一对应,需格式化的字符串多时,容易搞混print 'hello %s, you sex is %s.' %('tab', 'boy')# hello tab, you sex is boy.# 通过字典方式格式化,哪个字符将会格式化到哪里,清晰命了print '
2016-07-07 23:34:12
3705
原创 linux命令之grep
grep(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。选项-a 不要忽略二进制数据。-A <显示列数> 除了显示符合范本样式的那一行之外,并显示该行之后的内容。 -b 在显示符合范本样式的那一行之外,并显示该行
2016-07-07 11:22:03
1022
转载 五分钟战胜 Python 字符编码
转自:http://python.jobbole.com/85482/对于很多接触Python的人而言,字符的处理和语言整体的温顺可靠相比显得格外桀骜不驯难以驾驭。本文不谈复杂的理论,就经验教你字符处理八字真言:确定编码,同类交互。文章针对Python 2.7,主要因为3对的编码已经有了很大的改善并且实际原理一样,更改一下操作命令即可。了解完本文,你可以轻松解决文字处理,特殊平台(Windows?)
2016-07-02 17:05:16
1087
原创 python执行系统命令四种方法比较
一、os模块1、os.system(cmd)在子终端运行系统命令,不能获取命令执行后的返回信息以及执行返回的状态import osos.system('date')# 2016年 06月 30日 星期四 19:26:21 CST2、os.popen(cmd)不仅执行命令而且返回执行后的信息对象(常用于需要获取执行命令后的返回信息)import osnowtime = os.popen('dat
2016-06-30 20:35:47
76818
转载 linux下python守护进程编写和原理理解
转自:http://www.01happy.com/linux-python-daemon/编写了一个服务端程序,打开终端能直接运行程序,但是这样终端就被限制住了。如果ctrl+c退出或者关闭终端,那么服务端程序就会退出。于是就想着让这个服务端程序成为守护进程,像httpd、vsftpd、mysqld一样,一直在后端运行,不会受终端的影响。守护进程英文为daemon,像httpd、mysqld、vs
2016-06-30 15:02:53
1558
原创 pythong的logging模块
官方文档:http://python.usyiyi.cn/python_278/howto/logging.html#logging-basic-tutorial日志是跟踪软件运行时所发生的事件的一种方法。软件开发者在代码中调用日志函数,表明发生了特定的事件。事件由消息描述,可以包含可变的数据(即每次事件发生时都可能会不一样的数据)。事件有开发者给予的重要性;重要性也被叫做级别 或者 严重程度。一、
2016-06-28 17:36:00
620
原创 mysql常用的增删改操作
连接数据库: mysql -u username -p passwd创建表: CREATE DATABASE dbname选择数据库: USE dbname查看数据库中创建的所有数据表: show tables;删除数据库: drop database dbname;创建表: CREATE TABLE tablename (column_name_1 column_
2016-06-28 08:51:03
544
转载 python的re模块
正则表达式并不是Python的一部分。正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十分强大。得益于这一点,在提供了正则表达式的语言里,正则表达式的语法都是一样的,区别只在于不同的编程语言实现支持的语法数量不同;但不用担心,不被支持的语法通常是不常用的部分。如果已经在其他语言里使用过正则表达式,只需要简单看一看就可以上手了。
2016-06-22 23:54:19
600
原创 python的lambda、filter、map、reduce、zip函数
下面让我们一起探讨python的lambda、filter、map、reduce、zip函数的使用与区别
2016-06-21 23:03:42
1026
转载 暗时间
如果你有一台计算机,你装了一个系统之后就整天把它搁置在那里,你觉得这台计算机被实际使用了吗?没有。因为CPU整天运行的就是空闲进程。运行空闲进程也是一天,运行大数据量计算的程序也是一天,对于CPU来说同样的一天,价值却是完全不一样的。大脑也是如此。
2016-06-21 22:05:19
613
1
原创 python多版本共存之pyenv
也许你开发中也会遇到需要不同版本的python,此时需要在系统中安装多个,但又不能影响系统自带的 Python,即需要实现 Python 的多版本共存。pyenv 就是这样一个 Python 版本管理器Pyenv官方网站:https://github.com/yyuu/pyenv一、安装 pyenv (ubuntu系统)$ git clone https://github.co...
2016-06-16 21:51:41
2932
1
原创 使用virtualenv或virtualenvwrapper搭建独立的python开发环境
在我们开发项目时候经常需要安装各种pythong第三方包,如果都安装在系统上,可能会导致包管理比较混乱(例如我有两个不同版本的django项目),并且对于一名”洁癖”者来说,这是很难容忍的(开发环境混乱)。virtualenv/virtualenvwrapper就是为解决此问题(python包管理)而生的。一、virtualenv1、安装virtualenv由于virtualenv...
2016-06-05 22:39:56
1000
原创 能ping通服务器,ssh连不上
今早遇到能ping通服务器,但ssh却连不上,提示以下错误:一开始没认真看提示的错误信息,按常规的逻辑,重启了ssh服务,查看ssh进程是否存在,关闭防火墙等还是不行,最后认真查看提示的错误,看到remove那行错误,将提示中的文件删除后就可以了!
2016-02-19 08:56:30
2914
原创 scrapy 抓取豆瓣Top250书籍信息
环境 scrapy1.03 + ubuntu14.04 + python2.7scrapy 安装 pip install Scrapy注:非root用户的话需在命令前加上:sudo,不然可能会因为权限问题装不上 更多关于scrapy的详细资料请参考 scrapy0.24 中文文档吧创建爬虫项目并进入该目录下 scrapy startproject douban cd doub
2015-09-02 19:43:58
3969
原创 ubuntu下源码安装phantomjs时setuptools错误解决方法
众所周知,phantomjs是python运行js的强大第三方库,尤其在爬虫中抓取页面内容由js生成的数据。今天我在ubuntu14.04下源码安装(sudo python setup.py install)时出现如下错误提示: error: Installed distribution setuptools 3.3 conflicts with requirement setuptools>=8
2015-07-28 12:24:47
857
原创 Mysql出现 “ERROR 1062” 的解决方法
当mysql出现”ERROR 1062”错误时:查看字段的属性是否合理,不合理,则修改该字段的属性;合理,则进行表的恢复。如下图也有可能是:ERROR 1062: Duplicate entry ‘13747’ for key 1 等(所有这种1062类型的错误)。 我们应根据提示,进入数据库: mysql -u用户名 -p密码 (本地); mysql -h地址(ip如192.16.1.1) -
2015-07-13 20:31:15
80320
原创 linux下vim的安装以及配置
世上有三大公认的代码编辑神器:emacs, sublime, vim下面我们一起看看以效率著称的vim安装和配置1、安装: ubuntu: sudo apt-get install vim centos: yum -y install vim*2、配置: 打开终端,执行下面的命令就自动安装好了: wget -qO- https://raw.github.com/ma6174/vim/mast
2015-07-05 10:39:13
690
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅