python
文章平均质量分 82
如梦初醒_123
有很好的自学的能力;<br>有良好的团队协作能力;<br>有独立构建项目能力;<br>熟练使用Linux操作系统;<br>熟练使用Python语言;<br>熟悉PHP语言;<br>熟练使用tornado框架;<br>熟悉Django、Twisted、Firefly框架;<br>熟练使用Mysql和Redis 数据库;<br>熟练使用Webpack打包工具;<br>熟练使用 Vue前端框架;<br>熟练使用bootstrap,Jquery,Js,Html,CSS 等前端技术;<br>熟练使用Git,SVN代码管理工具。
展开
-
python性能调优(1)
性能调优主要包括时间的优化和内存的优化.要做时间的优化首先就要统计时间,python本身提供了一个描述程序时间性能的类cProfile.如要获取func函数所耗用的时间,可以使用如下代码import cProfilecProfile.run('func()') 如果需要知道一个python文件运行的时间,可以在命令行下使用如下命令python -m cP转载 2013-05-17 19:54:27 · 584 阅读 · 0 评论 -
python os 命令
Python的标准库中的os模块包含普遍的操作系统功能。如果你希望你的程序能够与平台无关的话,这个模块是尤为重要的。即它允许一个程序在编写后不需要任何改动,也不会发生任何问题,就可以在Linux和Windows下运行。下面列出了一些在os模块中比较有用的部分。它们中的大多数都简单明了。os.sep 可以取代操作系统特定的路径分割符。 os.name字符串指示你正在使用的平台。比转载 2013-05-17 12:55:08 · 405 阅读 · 0 评论 -
Python的字典操作
Python的字典操作Python提供了多种应用于字典的操作。因为字典为容器,内建len函数可以将字典当作单一参数使用听切返回字典对象中项目(键/值对)的数目。字典会员在Python2.2以及后面版本,D中的k运算符检测是否对象k是字典D中的键。如果是返回True如果不是返回False。相似的,索引一个字典字典D中的值与相关的键k被索引表示为:D[k]。索引字典转载 2013-05-20 10:21:09 · 452 阅读 · 0 评论 -
Python字符串操作
#Python字符串操作 '' '1.复制字符串' '' #strcpy( sStr1, sStr2) sStr1 = 'strcpy' sStr2 = sStr1sStr1 = 'strcpy2' print sStr2'' '2.连接字符串' '' #strcat( sStr1, sStr2) sStr1 = 'strcat' sStr2 = 'appe转载 2013-05-20 10:23:04 · 377 阅读 · 0 评论 -
Python模块学习 ---- struct 数据格式转换
Python是一门非常简洁的语言,对于数据类型的表示,不像其他语言预定义了许多类型(如:在C#中,光整型就定义了8种),它只定义了六种基本类型:字符串,整数,浮点数,元组,列表,字典。通过这六种数据类型,我们可以完成大部分工作。但当Python需要通过网络与其他的平台进行交互的时候,必须考虑到将这些数据类型与其他平台或语言之间的类型进行互相转换问题。打个比方:C++写的客户端发送一个int型(4字转载 2013-05-07 18:36:31 · 512 阅读 · 0 评论 -
python struct pack
看到在进行c格式的二进制文件读取的过程中,用到了struct.unpack方法,因此开始找struct模块的一些相关解释,网上没有看到很清晰的说明,那就根据Python v2.6.5 documentation自己写一个好了。 这个struct主要是用来处理C结构数据的,读入时先转换为Python的字符串类型,然后再转换为Python的结构化类型,比如元组(tuple)啥的~一般转载 2013-05-07 18:38:59 · 619 阅读 · 0 评论 -
Python socket编程
一个简单的python socket编程一、套接字套接字是为特定网络协议(例如TCP/IP,ICMP/IP,UDP/IP等)套件对上的网络应用程序提供者提供当前可移植标准的对象。它们允许程序接受并进行连接,如发送和接受数据。为了建立通信通道,网络通信的每个端点拥有一个套接字对象极为重要。套接字为BSD UNIX系统核心的一部分,而且他们也被许多其他类似UNIX的转载 2013-05-21 12:01:10 · 583 阅读 · 0 评论 -
Python装饰器学习
在《Core Python Programming 2nd》中学习到了装饰器,这对我来说是个完全陌生的语法,第一遍愣是没看懂,很有必要记一下。 第一眼看到这个词Decorator,我联想到了DP中的Decorator模式,后来才知道完全不是这么一回事。(再次鄙视一下国内浮躁的博客,我google了一下,几乎千篇一律都是什么锁同步装饰器、超时装饰器,我对原作者表达敬仰,可是大家都是转转载 2013-05-22 17:28:09 · 438 阅读 · 0 评论 -
批量替换文件名和内容的Python脚本
#!/usr/bin/env python# -*- coding: utf-8 -*- import os, re def multi_replace(text, adict): rx= re.compile('|'.join(map(re.escape, adict))) def xlat(match)转载 2013-05-22 17:39:38 · 606 阅读 · 0 评论 -
批量修改文件名的py脚本
123456789101112131415161718#!/usr/bin/env python# -*- coding: utf-8 -*- import os def trimfile(dir转载 2013-05-22 17:36:43 · 468 阅读 · 0 评论 -
Python装饰器学习(九步入门)
这是在Python学习小组上介绍的内容,现学现卖、多练习是好的学习方式。第一步:最简单的函数,准备附加额外功能?12345678# -*- coding:gbk -*-'''示例1: 最简单的函数,表示调用了两次''' def myfu转载 2013-05-22 17:32:52 · 405 阅读 · 0 评论 -
浅析Python装饰器
Python装饰器的理解装饰器一直不是很容易理解,在网上找了一篇文章对装饰器的解释是最好的。转给大家以共享。Python中函数有一个装饰器的概念,今天,看核心编程中的函数一章的时候接触到了这个概念,炸一看来,讲的说明真实不好明白。于是写下本篇以示说明,提供给迷糊者。希望能对一些人起到一定的帮助 装饰器的语法以@开头,接着是装饰器要装饰的函数的申明等。其实总体说起来转载 2013-05-09 16:28:06 · 441 阅读 · 0 评论 -
Python中DNS解析的几个方法
Python中DNS解析基本的方法是利用socket模块,实例代码如下:import sys, socket# 获取域名的IP地址result = socket.getaddrinfo(sys.argv[1], None)print result[0][4]这种方法很简单,但是有一个很明显的问题,在于它并没有提供指定DNS服务器的方法,于转载 2013-05-13 13:01:29 · 1932 阅读 · 0 评论 -
CentOS 4.8 配置 nginx 和 fastcgi 运行 django 应用
上篇一、安装 nginx 为了确保能在 nginx 中使用正则表达式进行更灵活的配置,安装之前需要确定系统是否安装有 PCRE (Perl Compatible Regular Expressions) 包。 可以到 ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/ 下载最新的PCRE源码包 使用下面命令编译和安装:转载 2013-05-13 13:08:15 · 599 阅读 · 0 评论 -
twisted下使用网络连接池
通过《如何使用twisted编译异步服务器》一文的学习,我们可以轻松使用twisted来搭建自己的服务器。前面的示例中服务端并不涉及到与外部服务器的交互,而实际的服务端往往需要同时与其他服务端进行交互(例如进行密码验证)。使用传统的os.socket连接服务器的方法虽然可行,但却并不符合异步的原则,使用deferred则可以异步的建立网络连接,频繁的网络连接总是会加大服务器压力,因此更多的时候是使转载 2013-05-13 13:10:16 · 677 阅读 · 0 评论 -
使用twisted编写异步服务器
使用twisted编译异步服务器 一 简介 twisted是python下的一个事件驱动的异步网络应用框架,其项目主页为http://twistedmatrix.com/trac/。 网络上关于twisted的介绍很多, 我这里就不啰嗦了。我们先来看一个使用twisted的实例。 import os, sys, timefrom twisted.internet.proto转载 2013-05-13 13:11:15 · 580 阅读 · 0 评论 -
python-redis
#1、安装 好吧,我承认我只会最简单的安装 s o apt-get install redis-server python 支持包: (其实就一个文件,搞过来就能用) s o apt-get install python-redis #2、配置 配置一下吧,默认配置文件在: “/etc/redis/redis.conf” 绑定ip: “bind 127.0.转载 2013-05-13 12:53:33 · 441 阅读 · 0 评论 -
解决as对象与python对象通过socket互换问题
使用pyamf,通过socket通信,as端,通过flash.net.Socket对象writeObject方法可以将复杂的as对象传过服务器python端pyamf中的例子代码如下:class TimerProtocol(Protocol): interval = 1.0 # interval in seconds to send the time encoding转载 2013-05-13 13:12:44 · 735 阅读 · 0 评论 -
linux+nginx+python+django环境配置
Django是一个开放源代码的Web应用框架,由Python写成,它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的。python+django也是web开发者最受欢迎的框架.今天记录下整个搭建开发环境的过程.(说明下环境的系统为 centos 5.2) 一:更新yum仓库(目前这个yum源是最快的)一:更新yum仓库(目前这个yum源是最快的)转载 2013-05-13 13:15:51 · 794 阅读 · 0 评论 -
Python Web 框架 Django缓存层 - django-redis-cache
django-redis-cache 是一个开源项目,代码不多,主要功能是提供 Redis 作为 django 缓存层的功能。项目地址:http://code.google.com/p/django-redis-cache/下面是其用法的简单介绍。使用方法:1. 运行 setup.py 安装 django-redis-cache 扩展2. 按如下方法修改django的设置转载 2013-05-13 13:17:13 · 1372 阅读 · 0 评论 -
twisted实现broardcast消息
一下是聊天服务端代码:(实现广播)#! /usr/bin/env python#coding=utf-8from twisted.internet import protocolfrom twisted.protocols import basicfrom twisted.python import logfrom twist转载 2013-05-13 12:49:04 · 658 阅读 · 0 评论 -
用python来开发webgame服务端
刺鸟原创文章,转载请注明出处 在开始之前,先简单描述一下项目的特点:我要实现的是一个mmorpg的webgame,地图上需要看到其他的玩家,战斗系统采用半回合制的模式,所谓的半回合制,即是:采用回合制的画面布局,友方和敌方分列左右,但是战斗的中途,其他的玩家可以及时的随时插入这场战斗。当然,作为一款rpgGame,装备加工,NPC对话,任务逻辑等是必不可少的了。 在分析了需转载 2013-05-14 16:06:45 · 566 阅读 · 0 评论 -
Python中的*args和**kwargs
def foo(*args, **kwargs): print 'args = ', args print 'kwargs = ', kwargs print '---------------------------------------' if __name__ == '__main__': foo(1,2,3转载 2013-05-14 16:07:47 · 468 阅读 · 0 评论 -
sorted用法再总结
#! /usr/bin/env python#coding=utf-8#对字典数据进行排序 sampledict_str = {'blue':{'b':3, 'c':100}, 'allen':{'b':3, 'c':1000}, 'sophia':{'b':3, 'c':1转载 2013-05-14 16:08:36 · 457 阅读 · 0 评论 -
twisted 多线程并发的相关讨论
一般让爬虫在一个进程内多线程并发,有几种方法:Stackless :Stackless Python是Python的一个增强版本。Stackless Python修改了Python的代码,提供了对微线程的支持。微线程是轻量级的线程,与前边所讲的线程相比,微线程在多个线程间切换所需的时间更多,占用资源也更少。Twisted :主要利用 Twisted 中的异步编程能力。如 addCa转载 2013-05-14 16:09:01 · 2810 阅读 · 0 评论 -
python根据一个日期获得星期几
import timeimport datetime#今天星期几today=int(time.strftime("%w"))print today#某个日期星期几anyday=datetime.datetime(2013,05,13).strftime("%w")print anyday转载 2013-05-14 16:09:15 · 6798 阅读 · 0 评论 -
Python: sort,sorted,OrderedDict的用法
from http://stqdd.com/archives/427by 莫亚菜python对容器内数据的排序有两种,一种是容器自己的sort函数,一种是内建的sorted函数。sort函数和sorted函数唯一的不同是,sort是在容器内排序,sorted生成一个新的排好序的容器。 对于一个简单的数组 L=[5,2,3,1,4].sort: L转载 2013-05-14 16:06:56 · 573 阅读 · 0 评论 -
Python装饰器与面向切面编程
Python装饰器与面向切面编程 http://www.cnblogs.com/huxi/archive/2011/03/01/1967600.html python 中类方法、类实例方法和静态方法的使用与区别: 使用方法:class A(object): def foo(转载 2013-05-14 16:09:31 · 438 阅读 · 0 评论 -
用Python实现常见排序算法
在Python实践中,我们往往遇到排序问题,比如在对搜索结果打分的排序(没有排序就没有Google等搜索引擎的存在),当然,这样的例子数不胜数。《数据结构》也会花大量篇幅讲解排序。之前一段时间,由于需要,我复习了一下排序算法,并用Python实现了各种排序算法,放在这里作为参考。最简单的排序有三种:插入排序,选择排序和冒泡排序。这三种排序比较简单,它们的平均时间复杂度均为O(n^2),在这转载 2013-05-14 16:07:28 · 552 阅读 · 0 评论 -
assert语句
assert语句用来声明某个条件是真的。例如,如果你非常确信某个你使用的列表中至少有一个元素,而你想要检验这一点,并且在它非真的时候引发一个错误,那么assert语句是应用在这种情形下的理想语句。当assert语句失败的时候,会引发一个AssertionError。 >>> mylist = ['item']>>> assert len(mylist转载 2013-05-14 16:09:43 · 1029 阅读 · 1 评论 -
python 格式化时间点转化为时间戳的方法
import datetimeimport timeformat="%Y-%m-%d %H:%M:%S"t1=time.strptime("2012-08-22 18:19:23",format)t2=datetime.datetime(t1[0],t1[1],t1[2],t1[3],t1[4],t1[5],t1[6])ux = int(time.mkt转载 2013-05-14 16:10:15 · 892 阅读 · 0 评论 -
twisted实现的Redis服务器
# -*- coding: utf-8 -*-from twisted.internet import reactorfrom twisted.internet.protocol import ServerFactoryfrom twisted.protocols.basic import LineReceiverimport fnm转载 2013-05-14 16:11:46 · 775 阅读 · 0 评论 -
python调用Shell脚本:os.system(cmd)或os.popen(cmd)
python调用Shell脚本,有两种方法:os.system(cmd)或os.popen(cmd),前者返回值是脚本的退出状态码,后者的返回值是脚本执行过程中的输出内容。实际使用时视需求情况而选择。现假定有一个shell脚本test.sh:#!/bin/bash1. echo "hello world!"2. exit 3os.system(cmd):该方法在调用完she转载 2013-06-15 19:35:40 · 628 阅读 · 0 评论 -
Django里return后边跟的需要返回的东东
GET是通过URL传给服务器的,POST是通过HTTP头传给服务器的,post的数据是不跟在请求的url后,而是在http头中,get是在url中post的安全性比get高,因为有的服务器会缓存get数据,post数据不会被缓存,而且当你再次刷新提交结果时,浏览器会弹出安全提示对话框。另外,get和post有一些数据格式的区别,比如说上载文件,你只能使用post方法,并且enctype只能设置转载 2013-06-17 18:24:56 · 2827 阅读 · 0 评论 -
python的几种排序算法
在Python实践中,我们往往遇到排序问题,比如在对搜索结果打分的排序(没有排序就没有Google等搜索引擎的存在),当然,这样的例子数不胜数。《数据结构》也会花大量篇幅讲解排序。之前一段时间,由于需要,我复习了一下排序算法,并用Python实现了各种排序算法,放在这里作为参考。最简单的排序有三种:插入排序,选择排序和冒泡排序。这三种排序比较简单,它们的平均时间复杂度均为O(n^2),在这转载 2013-06-21 16:28:57 · 599 阅读 · 0 评论 -
文件的读取、创建、追加、删除、清空
转载请注明出处:http://hi.baidu.com/leejun_2005/blog/item/f430c402ca3bb4f709fa93d5.html?timeStamp=1314566313840from:http://hi.baidu.com/jxq61/blog/item/9520011362d13acda6ef3f2e.htmlfrom: http://hi.bai转载 2013-07-09 11:36:23 · 549 阅读 · 0 评论 -
python对文件进行读写操作
python进行文件读写的函数是open或filefile_handler = open(filename,,mode)Table mode模式描述r以读方式打开文件,可读取文件信息。w以写方式打开文件,可向文件写入信息。如文件存在,则清空该文件,再写入新内容a转载 2013-07-09 10:40:40 · 540 阅读 · 0 评论 -
关于python文件操作
python中对文件、文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块。得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd()返回指定目录下的所有文件和目录名:os.listdir()函数用来删除一个文件:os.remove()删除多个目录:os.removedirs(r“c:\python”)检验给出的路径是否是一转载 2013-07-09 10:51:08 · 342 阅读 · 0 评论 -
Python os.path模块
os.path模块basename('文件路径') 去掉目录路径,返回fname文件名 1 import os 2 os.path.basename('/Volumes/1.mp4') #输出('1.mp4')dirname('文件路径') 去掉文件名,返回目录路径 1 import os 2 os.path.dirname('/Volume转载 2013-07-09 18:02:00 · 521 阅读 · 0 评论 -
Python 之ConfigParser
一、ConfigParser简介ConfigParser 是用来读取配置文件的包。配置文件的格式如下:中括号“[ ]”内包含的为section。section 下面为类似于key-value 的配置内容。1: [db]2: db_host = 127.0.0.13: db_port = 224: db_user = root5:转载 2013-06-24 12:14:11 · 374 阅读 · 0 评论