msgbartop
很傻很天真的程序员
msgbarbottom

26 七 11 windows pythoner的福音

在windows上使用python的朋友打开没有人不知道easy_install这个工具,不过有时候它也会失效的!!今天我在安装MySQLDB-python的时候就被郁闷了很久。ps:win7+python2.7.2
最后是通过google找到了http://www.lfd.uci.edu/~gohlke/pythonlibs/,从上面下载了exe版本的lib,双击安装成功的。
ps:windows下的pythoner伤不起啊

04 七 10 Hello Flask

from flask import Flask
app = Flask(__name__)

@app.route(‘/’)
def hello_flask():
    return “Hello Flask!”

if __name__ == ‘__main__’:
    app.run()

04 七 10 Flask:一个迷你的web框架

Flask是一个迷你的python web开发框架

Flask框架能干什么?

Flask内建一个便于开发及调试的web服务器

Flask支持集成单元测试

Flask支持RESTful请求

Flask使用的web模板是 Jinja2

Flask至此安全的Cookie

Flask 100%支持wsgi 1.0

Flask基于unicode编码

04 七 10 高效的纯python全文搜索组件-Whoosh

Whoosh是一个纯python实现的全文搜索组件。Whoosh不但功能完善,还非常的快。

Whoosh的作者是MattChaput,由Side Effects Software公司开发。项目的最初用于Houdini(Side Effects Software公司开发的3D动画软件)的在线帮助系统。Side Effects Software公司将该项目开源。

主要特性

  • 敏捷的API(Pythonic API)。
  • 纯python实现,无二进制包。程序不会莫名其妙的崩溃。
  • 按字段进行索引。
  • 索引和搜索都非常的快 — 是目前最快的纯python全文搜索引擎。
  • 良好的构架,评分模块/分词模块/存储模块等各个模块都是可插拔的。
  • 功能强大的查询语言(通过pyparsing实现功能)。
  • 纯python实现的拼写检查(目前唯一的纯python拼写检查实现)

为啥选择Whoosh

  • 纯python实现,省了编译二进制包的繁琐过程。
  • python代码比java更容易读懂,而且用起来也更方便。(翻者注:这个容易引发口水)
  • 在很多时候易用性比单纯的最求速度更重要。

Whoosh从其他的开源搜索引擎中获取了大量的灵感。 基础构建参考Lucene,使用KinoSearch的索引算法,部分评分算法来自Terrier,英文的词语态变化来自Minion.

03 七 10 Python发送简单的html邮件

#!/usr/bin/env python
# -*- coding=utf-8 -*-

import smtplib
from email.Header import Header
from email.MIMEText import MIMEText
from email.MIMEMultipart import MIMEMultipart

fromer = “tiaozi@163.com”
to = “tiaozi@163.com”
msg = MIMEMultipart(‘alternatvie’)
msg['Subject'] = Header(“test”,”utf-8″) #组装信头
msg['From'] = r”%s <%s>” %(fromer,Header(“条子”,”gb2312″)) #编码
msg['To'] = to

html = “<h1>Test</h1>”
html_part = MIMEText(html,’html’) #实例化为html部分
html_part.set_charset(‘gb2312′) #设置编码
msg.attach(html_part) #绑定到message里
try:
    s = smtplib.SMTP(‘smtp.163.com’)
    s.login(‘tiaozi’,'test’)
    s.sendmail(msg['From'],msg['To'],msg.as_string());
    s.close()
except Exception,e:
    print e

02 七 10 python MySQLdb编码问题

在学习python的过程中中文编码一直是个问题

今天经过了反复的验证终于发现MySQLdb是根据charset参数进行解码(decode),init_command参数进行编码(encode)

在linux终端输出还和linux终端指定的编码有关

MySQLdb.connect(host=ip,port=3306,user=”username”,passwd=”pwd”,db=”dbname”,

init_command=’init_command’,charset=’charset’)

init_command:’set names %s’ 由终端的编码和linux系统的编码决定 且终端和系统的编码必须保持一致

比如终端用的utf-8 则系统必须也是utf8才能保证 输出不是乱码 系统编码查看echo $LANG 修改系统编码 export LANG=code

charset的值必须是编码集大于等于数据库编码的编码类型

02 七 10 python中文相关

在python中使用的碰到的中文相关的问题有:
1.执行是出现“SyntaxError: Non-ASCII character ‘\xe6′ in file 2.py on line 2, but no encoding declared; “类似的错误 。
2.打印时或是将输出重定向时结果是乱码。
搜集了一些相关资料:
1.可在文件首行加上:

1. # -*- coding: UTF-8 -*-

2.可设置python解析引擎的默认编码:

1. import sys
2. encoding=sys.getdefaultencoding()
3. print encoding
4. reload(sys)
5. sys.setdefaultencoding(“UTF-8″)
6. encoding=sys.getdefaultencoding()
7. print encoding

3.可针对字符串解码再编码:

1. print “有了你世界是不同”.decode().encode(“GBK”)

Analytics Plugin created by Web Hosting

普人特福的博客cnzz&51la for wordpress,cnzz for wordpress,51la for wordpress