
python
文章平均质量分 66
watsy
这个作者很懒,什么都没留下…
展开
-
python 中 字符串转换为数组,字典或表达式
在python中,一般都是使用eval,不过这个表达式不够安全。今天在stackoverflow上看到有人说ast这个模块查了一下ast.literal_eval(node_or_string)Safely evaluate an expression node or a Unicode or Latin-1 encoded string containing a Python expr原创 2014-01-25 23:24:12 · 6151 阅读 · 0 评论 -
深入学习Django源码基础12 - 简要分析Django中template模块2
上一节模糊的分析了一下template的过程。这节也模糊的分析一下关键字与过滤的过程。在分析模版内容时候,构造语法问题树的过程初始化代码中有# global list of libraries to load by default for a new parserbuiltins = []for lib in builtins: self.add_library(li原创 2013-09-10 11:48:57 · 1962 阅读 · 0 评论 -
深入学习Django源码基础7 - python的gettext国际化本地化
这片文章是参考别人的。源地址不已经丢失。感觉python的本地化有点麻烦。操作步骤是1:编写代码2:xgettext生成pot文件。这里包含对应的msgid与msgstr3:msgfmt格式化pot文件,生成mo文件因为在mac下面。需要安装gettext模块brew install gettext项目目录locale|--zn_CN |原创 2013-09-03 15:49:28 · 3876 阅读 · 0 评论 -
深入学习Django源码基础11 - 简要分析Django中template模块1
首先逐个分析template目录下的文件template |----loaders |----__init__.py |----app_directories.py |----cached.py |----eggs.py |----filesystem.py |----__init__.py原创 2013-09-10 11:28:58 · 2087 阅读 · 0 评论 -
深入学习Django源码基础8 - Django中系统级国际化本地化
具体使用部分http://www.ibm.com/developerworks/cn/web/1101_jinjh_djangoi18n/代码太多,采用逆向部分源码法来学习分析main.py源码import osfrom django.utils.formats import *os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'se原创 2013-09-03 16:45:03 · 2835 阅读 · 0 评论 -
深入学习Django源码基础6 - utils中dateformat.py学习
跳过一些文件,选取一些比较优秀学习。今天看到dateformat文件。头文件中给出例子>>> import datetime>>> d = datetime.datetime.now()>>> df = DateFormat(d)>>> print(df.format('jS F Y H:i'))7th October 2003 11:39>>>可以看到重点是DateForm原创 2013-09-02 16:05:31 · 1858 阅读 · 0 评论 -
深入学习Django源码基础10 - Django中http模块
Django 中 http部分http部分 涉及到2个1接收的请求。request2返回的请求。response通过截获http协议可以看到。请求的是url + key:value的原始数据。返回的也是一样。如何把原始数据对应请求对象和返回对象查看Django.http模块在request.py文件中。request对象有编码,GET原创 2013-09-08 11:54:41 · 4538 阅读 · 0 评论 -
深入学习Django源码基础9 - 简单分析DjangoORM部分
现在MVC架构开发中。m部分是提供底层数据。无论是cs还是bs越来越看重数据对象的业务处理,而不是以前原生的sql得到的数据。因此,1个通用的关系数据库字段对应对模型对象的框架就比较重要了。有了他可以节省大量的开发时间。本篇侧重简要分析django中的orm。对于orm,既然是通用,那么就存在5个重要问题。1:如何多数据库的支持2:对象字段类型的提供3:sq原创 2013-09-07 19:33:34 · 10604 阅读 · 0 评论 -
python的排序总结
转载来比较全面的总结python排序的方法通过对比,发现python真是很方便。比其他语言精简很多。有机会学习ruby和lisp在做对比。https://github.com/mozillazg/mozillazg.com/blob/master/content/python/python-sorting-how-to.md转载 2013-08-29 22:54:04 · 961 阅读 · 0 评论 -
官方建议的python的书写惯例
python代码写着写着就按照c,c++系列的方式了。好多空格。换行。今天看书,看到官方建议。http://www.python.org/dev/peps/pep-0008/比较有名的有4行空格缩进每行不要超过79个字符函数之间,类之间,2个空白行文件用utf-8编码导入建议分行,不建议逗号同1行。导入的顺序应该是1:标准 2:第三方 3:自原创 2013-08-20 12:52:14 · 2569 阅读 · 0 评论 -
python 高手进阶学习资料
Dive Into Python断断续续看完了。只能说会让你内里深厚。没什么其他的。必须推荐 http://woodpecker.org.cn/diveintopython/toc/index.html原创 2013-08-19 09:36:03 · 1766 阅读 · 0 评论 -
深入学习Django源码基础13 - Django中的中间件(middleware)
运行启动,定位到http的处理文件在core/handler.py中def load_middleware(self): 。。。。。。 request_middleware = [] for middleware_path in settings.MIDDLEWARE_CLASSES: 。。。。。。加载模块原创 2013-09-10 18:05:01 · 2782 阅读 · 0 评论 -
深入学习Django源码基础14 - Django中forms简要分析
本篇采用分析源码学习的方式。首先说一下forms模块文件夹结构forms|----extras |----__init__.py |----widgets.py|----__init__.py|----fields.py|----forms.py|----formsets.py|----models.py|----util.py|----widgets.原创 2013-09-11 16:41:31 · 3327 阅读 · 0 评论 -
深入学习Django源码基础16 - django中信号的学习分析
在django中有1个比较好玩的技术。那就是信号的绑定和接受技术。从项目开发的角度,django中的信号处理技术属于辅助功能。流程并不清晰。django提供的信号有class_prepared = Signal(providing_args=["class"])pre_init = Signal(providing_args=["instance", "args", "kwargs原创 2013-09-12 11:33:50 · 3063 阅读 · 0 评论 -
python下很帅气的爬虫包 - Beautiful Soup 示例
先发一下官方文档地址。http://www.crummy.com/software/BeautifulSoup/bs4/doc/建议有时间可以看一下python包的文档。Beautiful Soup 相比其他的html解析有个非常重要的优势。html会被拆解为对象处理。全篇转化为字典和数组。相比正则解析的爬虫,省略了学习正则的高成本。相比xpath爬虫的解析,同样节约学习时原创 2013-11-05 10:24:04 · 65883 阅读 · 4 评论 -
Django中扩展User模型
官方其实是有资料的,不过在这里还是写的浅显点。官方地址https://docs.djangoproject.com/en/dev/topics/auth/customizing/在实际开发过程中,django提供的user字段肯定是不够用的,比如用户积分啊,描述啊,头像呀。。。这时候就需要扩展auth.User模型。扩展User有2种方式。1种是建1个新的模型,然后Us原创 2013-11-12 19:19:57 · 22637 阅读 · 0 评论 -
django第三方类库 - django-south 项目开始中就使用south方法
提炼 http://south.readthedocs.org/en/latest/tutorial/part1.html 官方手册里面的步骤第一步创建项目django-admin.py startproject LearnSouth创建appdjango-admin.py startapp books在learnSouth.settings中修改数原创 2013-09-24 12:05:58 · 7332 阅读 · 0 评论 -
如何优雅的将数据从sqlite3迁移到mysql
网上找了很多资料。发现都是有问题的。比较接近要求有的。http://stackoverflow.com/questions/18671/quick-easy-way-to-migrate-sqlite3-to-mysql在他基础上进行改造。python代码import reimport fileinputdef this_line_is_useless(line)原创 2013-09-20 18:29:33 · 20287 阅读 · 4 评论 -
深入学习Django源码基础17 - django中messagee分析学习
message属于中间件。因此加载与使用主要都是通过中间件挂到request以后与response返回的过程中 messages目录结构messages|----locale|----storage |----__init__.py |----base.py |----cookie.py |----fallback.py原创 2013-09-16 15:26:32 · 2261 阅读 · 0 评论 -
深入学习Django源码基础2 - python多态技巧-运行时判断函数
学习高级语言,大家都会学习到继承,复合。对于继承,最大的优势是实现了接口和多态。对于通过继承实现的接口部分。 C++多重继承 实现解耦,mvc分离 这里有示例。多态部分其他语言都有讲解。今天发现1个python实现多态的优势。相比较java,c++的多态,需要继承的方法在基类必须定义以后,才能编译通过。(吐槽一下,大部分C++和java代码是原创 2013-08-31 00:44:02 · 2007 阅读 · 0 评论 -
深入学习Django源码基础15 - views简要分析学习
在django中,view有2种编码形式。1种是function返回1种是class返回分析views文件夹views|----decorators |----__init__.py |----cache.py |----clickjacking.py |----csrf.py |----d原创 2013-09-11 19:36:30 · 1956 阅读 · 1 评论 -
深入学习Django源码基础3 - python提供的对象默认方法
详细内容看这里A Guide to Python's Magic Methods这里也有1篇中文的翻译部分https://pycoders-weekly-chinese.readthedocs.org/en/latest/issue6/a-guide-to-pythons-magic-methods.html把python object提供的默认重载方法做了分类1:构造和析构原创 2013-08-31 15:20:21 · 1759 阅读 · 0 评论 -
深入学习Django源码基础4 - python的动态延时加载技术(lazy)
在编程时候经常会遇到这样情况程序中需要1个示例,但是这个示例当前用不到。初始化和计算需要一定的时间。这个时候就要用到动态延时加载技术。一般手段有代理类,线程。计时器。在python中也有这样方法。python中方法的思路是:构造1个代理类,保存对象或者函数的名称,参数。实际调用时候,在初始化对象,计算。参考文章:点击打开链接对象的构造方法如下#c原创 2013-08-31 16:02:42 · 4743 阅读 · 0 评论 -
深入学习Django源码基础5 - utils中archive技巧
Django源码中,utils提供是这一组工具集。与框架的交集不多。想来还是先通过这个学习一下大神的代码。_os部分提供文件夹处理函数,跳过。继续看archive模块,这个模块主要提供解压文件处理。首先main代码如下from django.utils import archivearchive.extract('/Users/watsy/Downloads/Archive原创 2013-08-31 16:55:43 · 2710 阅读 · 0 评论 -
pkg_resources.ExtractionError: Can't extract file(s) to egg cache 解决办法
在debian服务器上以root权限执行python时候脚本时候。得到如下错误Traceback (most recent call last): File "server.py", line 10, in from logic import Logic File "/var/opt/sameway/chatserver/logic.py", line 9, in原创 2013-07-31 11:29:27 · 5168 阅读 · 0 评论 -
ios 上传图片 到Dango 1.5 服务器
接着之前的聊天服务器做上用户头像上传。考虑到性能问题,头像资料修改这些采用web服务器来做以下代码只是测试。models.pyfrom django.db import modelsclass ChatUser(models.Model): uid = models.IntegerField(primary_key=True, db_index=True)原创 2013-07-24 11:44:02 · 1484 阅读 · 0 评论 -
解决Python2.7的UnicodeEncodeError: ‘ascii’ codec can’t encode异常错误
import sysreload(sys)sys.setdefaultencoding('utf-8')转载地址 http://wangye.org/blog/archives/629/转载 2013-07-22 16:15:15 · 1600 阅读 · 0 评论 -
python 检查英文文章内的单词数量
参考http://blog.youkuaiyun.com/yidangui/article/details/8548511直接发代码# -*- coding: utf-8 -*- import os,sys info = os.getcwd() #获取当前文件名称 fin = open(u'谷歌C++编程代码规范.txt') info = fin.read() alist = i原创 2013-06-19 23:13:58 · 6139 阅读 · 0 评论 -
client 提交post 到 django出现403错误
当采用客户端象django的服务器提交post请求时。会得到403,权限异常。因为django针对提交的请教,有校验。所以会如此。解决办法http://stackoverflow.com/questions/6800894/django-returns-403-error-when-sending-a-post-request导入模块from django.view原创 2013-06-03 00:48:09 · 15606 阅读 · 0 评论 -
python list内object排序
解决方法 参考 点击打开链接In addition to the solution you accepted, you could also implement the special __lt__() ("less than") method on the class. The sort() method (and the sorted() function) will原创 2013-05-22 17:34:20 · 4749 阅读 · 0 评论 -
接着上次解析火车和飞机信息导入数据库使用
因为项目用到 关系对象映射,所以把数据直接转换成对象使用会很方便。但是前提是数据导入数据库。最后效果:根据第一次网络爬的的火车票和飞机票信息。和上一篇导入国家数据的结合。代码如下#/usr/bin/python#coding:utf-8__author__ = 'watsy'import sqlite3import sysimport os原创 2013-05-22 16:14:30 · 1004 阅读 · 0 评论 -
python 解析国家和州 并写入数据库
因为项目需要,需要用户在客户端选择国家和州。然后提交给服务器。搜索了一下暂时没有这些。服务器用的是js的代码。说要不要返回API。我想了下还是算了。正好项目采用了BeeFramework,提供对象关系映射。考虑本地DB,直接转换成对象使用拿到js地址。http://imybags.com/Js/imybags.countries.js因为 国家的比较少。直接复制原创 2013-05-21 10:44:21 · 2875 阅读 · 0 评论 -
python 爬飞机航班信息
首先感谢一下 飞友网提供的网站数据大神们有其他获取航班的渠道可以告诉我。我想要本地数据库使用。功能:爬所有航班信息保存到本地文件。保存格式参考12306的下面还需要做的。解析 中途经停的航班。和班次起飞日期(根据星期1234567计算)。#coding:utf-8__author__ = 'watsy'from sgmllib import SGMLPars原创 2013-04-27 16:57:58 · 6938 阅读 · 0 评论 -
pyQt4 for mac OS 10.8
因为想跨平台,所以考虑Qt,又想结合脚本的便捷。考虑PyQt网上搜索了一下,资料挺少的。有的还是以前的资料。参考这里 http://www.noktec.be/python/how-to-install-pyqt4-on-osx1:下载安装Qthttp://qt-project.org/downloads我下载的是Qt 5.0.2 for Mac (原创 2013-04-27 06:59:43 · 9237 阅读 · 0 评论 -
python 编写爬12306列车信息脚本
功能:1:全自动爬所有车站列表2:爬所有车站之间的所有车次,过滤重复,保存文件爬过程中保存文件遇到http异常,停止继续脚本代码#coding:utf-8__author__ = 'watsy'from sgmllib import SGMLParserimport urllibimport urllib2import datetimeimport j原创 2013-04-26 16:47:39 · 4768 阅读 · 2 评论 -
利用python2.7打造1个web站点1
首先,这里的代码是受Head First Python的启发。瞄了1眼,看了mvc分离的思路以后。自己画了一张草图。打算做1个 我的书单 演示web最终效果1:1个简单的index.py,显示所有书单列表2:添加或删除书3:点击一本书,查看内容记录其中遇到的问题1:cgi-bin执行需要权限 chmod +x [file or path]2:原创 2013-04-13 02:25:04 · 2429 阅读 · 0 评论 -
利用python2.7打造1个web站点2
紧接上一文修改后代码:bookModel.py__author__ = 'watsy'import pickle##objectModel#class cwBook(list): def __init__(self, name, author, chapters = []): list.__init__([])原创 2013-04-13 12:45:40 · 1211 阅读 · 0 评论 -
python 写的归并排序
需要补充点基础理论姿势了。def megraSort(sortArray1, sortArray2): retList = [] i = j = 0 while i < len(sortArray1) and j < len(sortArray2): if sortArray1[i] <= sortArray2[j]:原创 2013-07-08 13:54:46 · 1500 阅读 · 0 评论 -
python 版 动态规划 背包问题算法
演示示例代码version版本修改增加优化重叠子问题的解决numCount = 0#version 1def MaxVal1(w, v, index, last): """ 得到最大价值 w为widght v为value index为索引 last为剩余重量 """ global numCount原创 2013-07-08 14:45:08 · 5315 阅读 · 1 评论 -
用python写1个简单的聊天服务器-项目启动原因
在开发ios的时候。出于一些原因,需要1个聊天服务器。实现实时在线聊天。以前用过XMPP的。但是有些问题没解决好。想来还是自己找源码实现1个比较好。正好和大牛聊天,聊了一下2年来的开发历程,走的的弯路。得出一些心得以后,决定自己动手做1份。在考虑服务器端编程的时候,大家一致推荐C++,考虑到项目比较小,C++的同步框架,代码调试。有段时间没有练手,最终决定采用pyt原创 2013-06-28 16:52:58 · 2021 阅读 · 0 评论