易截截图软件、单文件、免安装、纯绿色、仅160KB
热门标签: c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 最新文章 : Python

Python中reactor,factory,protocol的学习笔记


Python中reactor,factory,protocol的学习笔记
 
 
最为简单的情况下,除了了解清reactor的简单使用,你还要了解Protocol和Factory。它们最终都会由reactor的侦听建立和run来统一调度起来。    
   
     建立服务器的第一个要解决的问题就是服务与外界的交流协议。协议的定义在twisted中是通过继承twisted.internet.protocol.Protocol类来实现的。在协议中你可以定义连接、数据接收、断开连接等一系列的事件如果进行响应。但是对于所有连接上来的协议的建立、持久配置数据的存储这样的内容并不会保存在协议中。    
   
  持久配置数据的存储通常都会保存在工厂里。    
   
     工厂的定义在twisted中是通过继承twisted.internet.protocol.Factory类来实现的。twisted提供了缺省的工厂实现最为普通的需求。它会实例化每个协议,并且通过设置每个协议中factory属性来使协议可以使用到它自己,做这个设置的作用就是让协议在进行处理连接数据时可以使用到工厂中存储的持久配置数据。工厂的启动是需要reactor真实的建立侦听并启动才可以 ......

python challenge

from: http://www.cnblogs.com/jimnox/archive/2009/12/08/tips-to-python-challenge.html
Python Challenge是一个网页闯关游戏,通过一些提示找出下一关的网页地址。与众不同的是,它是专门为程序员设计的,因为大多数关卡都要编程来算哦!!
去年和同学一起玩的,他做了大半,我做了小半,作弊了一些,33关全通,今天逛硬盘发现这个资料,拿出来晃晃。
非常非常非常非常好玩,强烈推荐编程的朋友都玩玩,不一定要会Python,我和我同学都不会,不过我们用C#一样能搞出来,没有障碍的。
0
http://www.pythonchallenge.com/pc/def/0.html
猜238,说是38在2上面一点点,猜238= 274877906944,进入下一关
1
http://www.pythonchallenge.com/pc/def/274877906944.html
http://www.pythonchallenge.com/pc/def/map.html
根据图上的提示,是位移加密,每个字符位移两次,把下面那些提示用这个方法的处理,告诉我用同样的方法处理url,得到ocr
2
http://www.pythonchallenge.com/pc/def/ocr.html
提示看源文件,一大堆字符,说要找到出现次数最少的字符,发现是equality
3
http://www.pythonchallenge.com/pc/def/equality.html
一个小写字母,每边刚好有三个大 ......

python改变文件及其子目录的属性


1.改变本文件的属性
import
os
import
stat
os.chmod( filename, stat.S_IWRITE )
2.改变本目录及其子目录属性
import
os
os.system(r
'
attrib -r' + path +'\\*.* /s
'
)
3.介绍改变文件属性的dos指令
Attrib
显示、设置或删除指派给文件或目录的只读、存档、系统以及隐藏属性。如果在不含参数的情况下使用,则 attrib 命令会显示当前目录中所有文件的属性。
语法
attrib [{+r | -r}] [{+a | -a}] [{+s | -s}] [{+h | -h}] [[Drive:][Path] FileName] [/s[/d]]
参数
+r
设置只读文件属性。
-r
清除只读文件属性。
+a
设置存档属性。
-a
清除存档属性。
+s
设置系统文件属性。
-s
清除系统文件属性。
+h
设置隐藏文件属性。
-h
清除隐藏文件属性。
[Drive:][Path] FileName
指定要显示或更改其属性的目录、文件或文件组的位置和名称。可以在 filename 参数中使用通配符(? 和 *)来显示或更改一组文件的属性。
/s
将 attrib 和任意命令行选项应用到当前目录及其所有子目录中的匹配文件。
/d
将 attrib 和任意命令行选项应用到目录。
/?
在命令提示符下显示帮助。
sample:
对插在 B 驱动器 ......

python 2.5.x 找不到 python25_d.lib 解决

1.  首先就是在编译器中把python安装目录include/与libs/加入,对于这点我在vc6中可以,但是在dev c++中即使加入了编译也会出错,说找不到python头文件,这点比较郁闷,不过考虑到一般windows编程都用的是vc,所以并没有什么影响吧!!!
然后用#include <Python.h>就可以把python的主头文件包含进来了。
但是在调试的时候,会出现说找不到python25_d.lib的链接错误,出现这个错误的原因是python_d.lib是库的调试后形式,当我们以debug模式编译工程时,python就用这个lib文件,但是这个文件是不可用的。对于这点,最快的办法就是强制要求python在任何情况下都是用非调试版本,就可以了。要做到这一点
a)  在python目录include文件夹下,打开pyconfig.h,找到如下语句
#                     ifdef _DEBUG
#                            pragma comment(lib,"python25_d.lib")
#   & ......

python的编码问题

  前两天理解了unicode、utf-8、gb2312这些编码之间的关系以后,今天终于弄明白了在python里面的编码问题。我们在写python脚本时如果有中文的字符串,在运行的时候有可能会报错也有可能会出现乱码。一般加上# -*- coding:utf-8 -*-就不会报错了,但是还可能有乱码问题,而且同样的代码在不同的编辑器中得出的结果还有可能不一样,你是否也遇到过这些问题而且理不清头绪?希望我的讲解能让你对这个问题有一定的理解。
  对于python的一个脚本来说有三种编码:
1. 脚本文件的编码
    脚本保存时的编码格式,不同的编辑器采用的格式不同会造成一定的混乱,一般是utf-8或者cp936(windows上)
2. python解析器的编码
    python默认使用ascci编码,所以如果你的脚本中出现了中文,用ascci编码区解析一定会出错,因为ascci不没有utf-8,cp936里面的中文字符的。所以你要在脚本的第一行加入# -*- coding:utf-8 -*-注释来通知python解析器使用utf-8,但是这个只是通知一下python而不是真的用utf-8的编码区解析这里的中文字符串。例如,你写了一个脚本保存的编码是cp936的,如果不加入注释一定会在运行时报错,因为ascci不包 ......

使用python获取html页面的内容

import urllib
from HTMLParser import HTMLParser
class TitleParser(HTMLParser):
def __init__(self):
self.title = ''
self.divcontent = ''
self.readingtitle = 0
self.readingdiv = 0
HTMLParser.__init__(self)
def handle_starttag(self, tag, attrs):
if tag == 'title':
self.readingtitle = 1
if -1 != tag.find("div"):
self.readingdiv = 1
def handle_data(self, data):
if self.readingtitle:
# Ordinarily, this is slow and a bad practice, but
# we can get away with it because a title is usually
# small and simple.
self.title += data
if self.readingdiv:
self.divcontent += data
def handle_endtag(self, tag):
if tag == 'title':
self.readingtitle = 0
if tag == "div":
self.readingdiv = 0
def gettitle(self):
return self.title
def getdi ......

使用python获取html页面的内容

import urllib
from HTMLParser import HTMLParser
class TitleParser(HTMLParser):
def __init__(self):
self.title = ''
self.divcontent = ''
self.readingtitle = 0
self.readingdiv = 0
HTMLParser.__init__(self)
def handle_starttag(self, tag, attrs):
if tag == 'title':
self.readingtitle = 1
if -1 != tag.find("div"):
self.readingdiv = 1
def handle_data(self, data):
if self.readingtitle:
# Ordinarily, this is slow and a bad practice, but
# we can get away with it because a title is usually
# small and simple.
self.title += data
if self.readingdiv:
self.divcontent += data
def handle_endtag(self, tag):
if tag == 'title':
self.readingtitle = 0
if tag == "div":
self.readingdiv = 0
def gettitle(self):
return self.title
def getdi ......
总记录数:695; 总页数:116; 每页6 条; 首页 上一页 [15] [16] [17] [18] 19 [20] [21] [22] [23] [24]  下一页 尾页
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号