
Python
phyeas
乐观...安静..
展开
-
JE API的Python实现 - 0.01
修正了匆忙之下开发的一些错误。然后加了点东西。新建config.py,将原先放在__init__.py里的代码移了过来,并修改了一个错误的URL原先的request改为__request,并将方法内部改为调用__request2的方式,统一接口方便维护加了自动记录last_id功能。加入配置项:send_last_id:是否在发送是自动加上系统记录的last_id ----------...2009-03-20 23:38:02 · 142 阅读 · 0 评论 -
监听文件变化、python和GIL
1、利用windows api对文件系统进行监听 尝试1:利用FindFirstChangeNotificationA、WaitForMultipleObjects、FindNextChangeNotification组合这一组合缺点是就api而言无法获取变更的文件名,还要自己遍历文件夹比对。放弃。 尝试2:CreateFileA、ReadDirectoryChangesW组合,完...2009-12-15 22:25:57 · 264 阅读 · 0 评论 -
在Python3.0中处理web请求-继续封装wsgi
接上篇 在Python3.0中处理web请求-继续封装wsgi:这次加入了Cookies封装,session支持,从线程作用域获取request,response等。目前session还不能被持久化 # -*- coding: utf-8 -*-import socketserver, re, cgi, io, urllib.parsefrom wsgiref.simp...2009-05-27 17:19:47 · 487 阅读 · 0 评论 -
在Python3.0中处理web请求-封装wsgi
闲来无聊,写了一些python3000的wsgi封装的代码,包括封装url匹配,客户请求参数,跳转,响应流的封装等,少说废话。上代码:# -*- coding: utf-8 -*-import socketserver, re, cgi, io, urllib.parsefrom wsgiref.simple_server import WSGIServerclass Ap...2009-05-26 13:23:33 · 291 阅读 · 0 评论 -
SQLAlchemy-查询
似乎ORM最难设计的部分是查询。特别是面向对象的查询,今天学习SQLAlchemy,发现SQLAlchemy的查询语法竟如此灵活,惊叹其如此强大的表达能力的同时也对Python也有了更深的认识。下面看一下我写的一些查询语句: #简单查询 print(session.query(User).all()) print(session.query(User.name, Us...2009-04-27 21:15:55 · 107 阅读 · 0 评论 -
SQLAlchemy与Python3.0
今天开始学习SQLAlchemy,我用的是python3,所以,首先得让他能在python3上运行。看了下官方网站的介绍,SQLAlchemy准备从0.6版开始支持python3(http://www.sqlalchemy.org/download.html),但现在的0.6还在开发阶段,能正式下载到的只有0.5.3,要下0.6需要通过svn。SVN地址:http://svn.sqlalche...2009-04-26 22:47:23 · 165 阅读 · 0 评论 -
想设计一个Python的持久层框架
框架定义在持久层,除提供ORMapping功能外加点权限控制。ORMapping的代码学习iBatis和ActiveRecord的做法,可使用任意一种,想象中xml应该这样子定义<sqlmap name="queryTable"> select c1,c2 from table where c1=:name</sqlmap> 调用时类似:sqlma...2009-04-24 23:24:29 · 401 阅读 · 0 评论 -
设计Python数据库连接池1-对象的循环引用问题
在Python中如果对象定义了__del__方法的话,在对象的引用记数为0时会自动调用__del__方法(很象c++中的析构函数),但如果A对象引用B对象,B对象又引用A对象,就形成循环引用,此时A,B对象引用次数都为1。python就无法正常调用__del__方法,原计划在__del__方法里释放的资源自然也就无法释放。一个连接池拥有多个连接,而每个连接又拥有这个连接池的实例(一个叫pool...2009-04-17 23:25:31 · 211 阅读 · 0 评论 -
在Python3.0中处理web请求7-文件上传(使用cgi.FieldStorage)
winput=env["wsgi.input"] params=cgi.FieldStorage(fp=io.StringIO(winput.read(int(env.get("CONTENT_LENGTH","0"))).decode("ISO-8859-1")),environ=env,keep_blank_values=1) print(param...2009-04-12 14:53:25 · 945 阅读 · 2 评论 -
在Python3.0中处理web请求6-简单的模板引擎
今天放假在家,外面又在下雨,闲来无事,写了个简单的模板引擎,其实也不算什么模板,只是把嵌在html里的python代码解释成嵌入在python里的html代码,仅此而已,代码也很简陋,纯粹个人娱乐以下是示例代码:from web.render import SimpleHTMLRenderfrom socketserver import ThreadingMixInfrom wsgiref...2009-04-06 21:14:53 · 188 阅读 · 0 评论 -
在Python3.0中处理web请求5-处理cookie
在处理web请求时,处理Cookie是非常重要的一个环节,要处理用户session首先就要处理用户提交的cookie。在python(wsgi)中并没有直接获取cookie值的方法,以下是我今天参照类库帮助写的一个获取用户发送来的cookie的demo:首先先从服务器发送cookie数据到客户端:def application(env,start_response): cookie =...2009-04-06 01:39:06 · 231 阅读 · 1 评论 -
在Python3.0中处理web请求4-回归WSGI
前面一直使用HTTPServer对web请求进行处理,今天突然想能不能改下,用python3提供的wsgiref进行处理,原来的程序:from wsgiref.simple_server import make_serverdef hello_world_app(env,start_response): start_response("200 OK",[("Content-type"...2009-03-31 16:04:45 · 198 阅读 · 0 评论 -
在Python3.0中处理web请求3-多线程
继续研究Python3进行处理web请求。在第一篇文章的Hello World程序中,是没有进行多线程处理的,导致的情况是当第一个人执行了一个操作,如果这个操作所需要的时间比较长,那么其他人就需要等他执行完后才能访问,这是非常不符合逻辑的,我看了下源码,HTTPServer确实没有进行任何线程处理,若运行以下代码:#!coding=UTF-8from http.server import HT...2009-03-30 14:06:39 · 547 阅读 · 0 评论 -
pet 0.1 预览版(原PJETalker)
本打算今天发布一个正式版,但由于遇到一些问题,还要再看看,不过已经初步成形了。但还有很多功能不能用。项目正是更名为PET, 全称 Python EyeTalker,如果觉得这个名称不合适可以尽快告诉我,我尽快修正。下面是截图:登录 主界面 只是个预览版 要低调。。。 运行方法,直接使用python命令运行main.py需要 python2.5+ wxPython...2009-03-29 22:21:14 · 168 阅读 · 0 评论 -
在Python3.0中使用HTTPServer处理web请求2-获取请求参数
继上次用HTTPServer写了一个简单的HTTPHandler后,我发现如果采用HTTPServer处理WEB请求的话系统没有提供获得请求参数的方法(如Java里的request.getParameter),这哪成,不能获取参数还跟用户交互个屁啊。于是又一头扎进了一望无垠的类库中。下面就是今天早上看来一个多小时的结果。除上次说用到的那几个之外,这次新加了一个urllib核心代码:urlli...2009-03-27 14:21:43 · 1295 阅读 · 1 评论 -
在Python3.0中使用HTTPServer处理web请求
继昨天发现wsgi在有点问题而无法使用它来处理web请求后,我在官方文档中看到了一个http.server模块,于是转而研究它而非WSGI。这个模块中有两个重要的类,分别为HTTPServer和BaseHTTPRequestHandler,还有两个示例类,SimpleHTTPRequestHandler,CGIHTTPRequestHandler。还有一个测试方法(test),我参考其中的示例类写...2009-03-25 09:58:19 · 451 阅读 · 0 评论 -
初试Python3.0 wsgiref遇到好些问题..
今天打算尝试一下python3.0。没想到刚开始就受挫。测试代码如下:from wsgiref.simple_server import make_serverdef hello_world_app(env,start_response): start_response("200 OK",[("Content-type","text/plain;charset=utf-8")...2009-03-24 13:45:45 · 1233 阅读 · 0 评论 -
文件版本管理-文件合并
用过svn或者cvs的人都知道,文件版本冲突的时候应该将两个冲突的版本进行比较,然后进行合并,如果不能合并则抛出异常。这个在程序里怎么实现呢,这个是否可以合并不是很好判断啊。分析一下,这里有三个文件,一个是版本一(最老的版本),版本2(现在正在库中的版本),版本3(引发冲突的版本),现在要将版本2的内容合并到版本3中而不破坏版本3的修改。那么我们就需要一个修改记录清单。用版本1分别和版本2、版本3...2009-07-15 12:46:10 · 250 阅读 · 0 评论