Python
期待一片自己的蓝天
在加利福尼亚州门洛帕克的Facebook园区入口可以看到一个标牌,正面是经典的竖起大拇指点赞的图案,然而在这个标牌的背面,掩映在树荫里的依然是园区昔日所有者2009年被甲骨文公司Oracle吞并的Sun电子计算机公司Sun Microsystems Inc.的名字。Facebook之所以在牌子上留下Sun电子计算机公司的名字就是为了警醒自己,如果企业停止创新的步伐,就会沦落至如此下场。
展开
-
Python:简单的文件备份脚本
文件备份脚本,实现了按照日期归类,时间建备份文件的功能,还能加入用户的备注信息。#!/usr/bin/python#Filename:backup_ver3.pyimport osimport time#1.source file which to be backed up.source = ['/home/shibo/Code']#2.target path which a原创 2015-06-16 19:08:05 · 1120 阅读 · 0 评论 -
Python使用C语言生成的库
下载需要的工具1、下载pcre库 wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.37.tar.gz 2、下载SWIG:wget http://sourceforge.net/projects/swig/files/latest/download?source=typ_redirect安装pcr原创 2015-09-07 21:51:43 · 2251 阅读 · 0 评论 -
Python 中的for-else用法
对于条件语句 if- else 我们已经很熟悉了, 但是在Python中,for-else用于处理遍历失败。比如我们要实现这样一个功能:找出(81,99)中最大的完全平方数并输出,找不到则输出提示。如果用c++的for循环实现,必须手动的判断for循环是否遍历失败:[cpp] view plaincopyprint?#incl原创 2015-08-20 13:30:05 · 30273 阅读 · 2 评论 -
Python使用Rsa公钥加密,私钥解密以及私钥签名,公钥验签的例子
安装Cryptor库wget https://github.com/dlitz/pycrypto/archive/master.zip python setup.py install生成rsa公钥和私钥私钥openssl genrsa -out ./myTestKey.pem -passout pass:"f00bar" -des3 2048用私钥生成公钥o原创 2015-09-10 22:22:06 · 22713 阅读 · 1 评论 -
Python默认编码错误SyntaxError: Non-ASCII character '\xe5'之解决方法
在编写Python时,当使用中文输出或注释时运行脚本,会提示错误信息:SyntaxError: Non-ASCII character '\xe5' in file *******解决方法:python的默认编码文件是用的ASCII码,你将文件存成了UTF-8!!!(文件中存在中文或者其他语言,就会出现此问题!)解决办法很简单!!!在文件开头加入:# -*- codin原创 2015-09-14 14:49:17 · 725 阅读 · 0 评论 -
Python中的对象赋值、浅拷贝与深拷贝
Python中,对象的赋值,拷贝(深/浅拷贝)之间是有差异的,如果使用的时候不注意,就可能产生意外的结果。下面本文就通过简单的例子介绍一下这些概念之间的差别。对象赋值直接看一段代码:Python1234567891011121314151617will = ["W原创 2015-09-29 15:40:11 · 1047 阅读 · 0 评论 -
Python 进行RSA私钥加密,公钥解密
使用M2Crypto库需要安装M2Crypto库# -*- coding: UTF-8 -*-import M2Cryptofrom Crypto.PublicKey import RSAimport base64import sys#私钥加密,公钥解密def pri_encrypt(msg, file_name): rsa_pri = M2Crypto.RSA.load原创 2015-09-16 16:51:20 · 18335 阅读 · 2 评论 -
mac os安装 brew 及 cffi
如果没有brew,需新安装brew安装命令如下: curl -LsSf http://github.com/mxcl/homebrew/tarball/master | sudo tar xvz -C/usr/local --strip 1小提示: 当brew安装成功后,就可以随意安装自己想要的软件了,例如wget,命令如下: sudo brew install wge原创 2015-10-09 12:49:44 · 1673 阅读 · 0 评论 -
Python中unicode编码的字符串和其他格式的字符串之间进行转换
1.1. 问题 ProblemYou need to deal with data that doesn't fit in the ASCII character set.你需要处理不适合用ASCII字符集表示的数据.1.2. 解决 SolutionUnicode strings can be encoded in plain strings in原创 2015-10-09 19:47:23 · 3345 阅读 · 0 评论 -
Python的文件操作
1.open使用open打开文件后一定要记得调用文件对象的close()方法。比如可以用try/finally语句来确保最后能关闭文件。file_object = open('thefile.txt')try: all_the_text = file_object.read( )finally: file_object.close( )注:不能把open语句放在try块里,原创 2015-11-11 20:52:17 · 510 阅读 · 0 评论 -
python连接mysql数据库
坚持每天学一点,每天积累一点点,作为自己每天的业余收获,这个文章是我在吃饭的期间写的,利用自己零散的时间学了一下python操作MYSQL,所以整理一下。我采用的是MySQLdb操作的MYSQL数据库。先来一个简单的例子吧:12345678910import MySQ原创 2015-11-12 10:35:01 · 617 阅读 · 0 评论 -
sdk流程图
分为三方登录 + 三方支付两个模块:登录:先说一下对应的原理对于三方登录,比如用户使用QQ号登录,其实就是用户填写自己的QQ帐号密码,然后我们的客户端拿着去向QQ的服务器做验证,如果用户填写信息无误,则QQ服务器会给客户端返回一个token,客户端把token发送给我们的sdk服务器,我们sdk服务器拿着token去向QQ服务器做验证,如果验证成功,则返回给我们sd原创 2015-11-13 14:43:03 · 2233 阅读 · 0 评论 -
从mysql中读出数据,并将数据作为参数发送http请求
# -*- coding: utf-8 -*-import MySQLdbimport timeimport jsonfrom hashlib import md5import urllib2from threading import Timerdef connMysql(): #Notified idfa this time. output = open('/Us原创 2015-11-13 14:52:27 · 3246 阅读 · 0 评论 -
Python函数参数传值问题
我想,这个标题或许是很多初学者的问题。尤其是像我这样的对C/C++比较熟悉,刚刚进入python殿堂的朋友们。C/C++的函数参数的传递方式根深蒂固的影响这我们的思维–引用?传值?究竟是那种呢。语言的特性决定了是使用的方法,那么,现在我们来探究一下python的函数参数传递方式。对象vs变量在python中,类型属于对象,变量是没有类型的,这正是python的语言特性,原创 2015-10-29 22:07:20 · 978 阅读 · 0 评论 -
Django配置静态文件路径
1、修改settings.py文件 在文件末尾加上#静态文件的前缀STATIC_URL = '/static/'#静态文件的路径STATICFILES_DIRS = ( os.path.join(BASE_DIR, "common_static"),#app共有的静态文件,比如:jqurey.js '/path/to/others/static/',#其他静态文件的路径)2、原创 2015-12-30 15:10:48 · 4223 阅读 · 1 评论 -
python的traceback用法
traceback模块被用来跟踪异常返回信息. 如下例所示:12345import tracebacktry: raise SyntaxError, "traceback test"except: traceback.print_exc()将会在控原创 2015-09-02 11:26:38 · 2406 阅读 · 0 评论 -
python中的有序字典OrderedDict
1. OrderedDict 有序字典OrderedDict是dict的子类,它记住了内容添加的顺序。比较时,OrderedDict要内容和顺序完全相同才会视为相等。[python] view plaincopyimport collections d = collections.OrderedDict() d[3]原创 2015-08-18 18:58:24 · 8964 阅读 · 0 评论 -
Python:使用cPickle储存器存储对象
一个简单的例子,演示了怎么使用cPickle存储对象#!/usr/bin/python#Filename:pickling.pyimport cPickle as pshoplistfile = 'shoplist.data'shoplist = ['apple', 'mango', 'carrot']f = file(shoplistfile, 'w')p.dump(sh原创 2015-06-16 19:11:41 · 984 阅读 · 0 评论 -
Python:自定义异常类
自定义一个异常类,判断用户输入的字符串长度是否够#!/usr/bin/python#Filename:user_defined_exception.pyclass ShortInputException(Exception): '''A user-defined exception class.''' def __init__(self, length, atleast)原创 2015-06-16 19:00:44 · 3230 阅读 · 0 评论 -
Python:模拟linux命令cat
模拟linux的cat命令,打印从命令行输入的文件名#!/usr/bin/python#Filename:cat.pyhelpString = '''\This program prints files to the standard output.Any number of files can be specified.Options include:--version : P原创 2015-06-16 19:58:12 · 4743 阅读 · 1 评论 -
Python:实现多态
定义一个在校人的基类,分别派生出教师和学生,然后放入列表中,实现多态。#!/usr/bin/python#Filename:inherit.pyclass SchoolMember: '''Represents any school member.''' def __init__(self, name, age): self.name = nam原创 2015-06-16 19:05:10 · 2337 阅读 · 0 评论 -
python 字符串,列表,元组,字典相互转换
1、字典dict = {'name': 'Zara', 'age': 7, 'class': 'First'}字典转为字符串,返回: {'age': 7, 'name': 'Zara', 'class': 'First'}print type(str(dict)), str(dict)字典可以转为元组,返回:('age', 'name', 'class')pri原创 2015-08-10 16:44:01 · 4431 阅读 · 0 评论 -
python参数中的 * 和 **
问题: Python的函数定义中有两种特殊的情况,即出现*,**的形式。 如:def myfun1(username, *keys)或def myfun2(username, **keys)等。解释: * 用来传递任意个无名字参数,这些参数会一个Tuple的形式访问。 **用来处理传递任意个有名字的参数,这些参数用dict来访问。*应用:原创 2015-08-10 16:00:33 · 723 阅读 · 0 评论 -
python中的exec()函数的作用
exec语句用来执行储存在字符串或文件中的Python语句。例如,我们可以在运行时生成一个包含Python代码的字符串,然后使用exec语句执行这些语句。下面是一个简单的例子。>>> exec 'print "Hello World"'Hello World注意例子中exec语句的用法和eval_r(), execfile()是不一样的. exec是一个语句(就象print或w原创 2015-08-10 17:33:49 · 7810 阅读 · 0 评论 -
Python的getattr(),setattr(),delattr(),hasattr()
getattr()函数是Python自省的核心函数,具体使用大体如下:获取对象引用getattrGetattr用于返回一个对象属性,或者方法class A: def __init__(self): self.name = 'zhangjing' #self.age='24' def meth原创 2015-08-11 20:16:04 · 1035 阅读 · 0 评论 -
Python的多进程编程
Python在2.6引入了多进程的机制,并提供了丰富的组件及api以方便编写并发应用。multiprocessing包的组件Process, Queue, Pipe, Lock等组件提供了与多线程类似的功能。使用这些组件,可以方便地编写多进程并发程序。ProcessProcess等同于java.lang.Thread。start方法用以启动某个进程。一个简单原创 2015-08-11 16:52:44 · 748 阅读 · 0 评论 -
Python的异常处理
当你的程序中出现异常情况时就需要异常处理。比如当你打开一个不存在的文件时。当你的程序中有一些无效的语句时,Python会提示你有错误存在。下面是一个拼写错误的例子,print写成了Print。Python是大小写敏感的,因此Python将引发一个错误:>>> Print 'Hello World' File "", line 1 Print 'Hello World'原创 2015-08-13 20:28:34 · 751 阅读 · 0 评论 -
Python中的可变参数
Python中函数的参数有4种形式,分别是:位置或关键字参数(Positional-or-keyword parameter)仅位置的参数(Positional-only parameter)任意数量的位置参数(var-positional parameter)任意数量的关键字参数(var-keyword parameter)第一种:位置或关键字参数这种参数是Python中原创 2015-08-28 20:19:39 · 2034 阅读 · 0 评论 -
Python中range和xrange的异同之处
range 函数说明:range([start,] stop[, step]),根据start与stop指定的范围以及step设定的步长,生成一个序列。range示例: >>> range(5) [0, 1, 2, 3, 4] >>> range(1,5) [1, 2, 3, 4] >>> range(0,6,2)[0, 2, 4]xrange 函数说明原创 2015-08-14 10:09:54 · 782 阅读 · 0 评论 -
python中交换两个变量
之前有段时间想用python写个交换两个变量的值的函数,我们知道在C++中是传入两个变量的指针或者引用,但是python中并没有指针或者引用的概念,而且资源回收全部由python的运行环境接管了,要实现变量交换用函数实现反而麻烦了,直接a,b=b,a就把a和b的值交换了,呵呵,很简洁吧,这是python的一贯作风,从代码上看,连临时变量都没有用到。可以用这个实现一个简单的冒泡排序,代码如下原创 2015-07-31 23:57:25 · 5518 阅读 · 1 评论 -
Python中的self,cls参数
普通的方法,第一个参数需要是self,它表示一个具体的实例本身。如果用了staticmethod,那么就可以无视这个self,而将这个方法当成一个普通的函数使用。而对于classmethod,它的第一个参数不是self,是cls,它表示这个类本身。>>> class A(object): def foo1(self): print "Hello",self原创 2015-08-15 10:35:00 · 9346 阅读 · 0 评论 -
Django根据现有数据库建立model
Django引入外部数据库还是比较方便的,步骤如下 创建一个项目,修改seting文件,在setting里面设置你要连接的数据库类型和连接名称,地址之类,和创建新项目的时候一致 运行下面代码可以自动生成models模型文件 python manage.py inspectdb 这样就可以在命令行看到数据库的模型文件了把模型文件导入到app中 创建一个app django-admin.py原创 2015-12-30 20:51:52 · 13428 阅读 · 3 评论