本站首页    管理页面    写新日志    退出


«September 2025»
123456
78910111213
14151617181920
21222324252627
282930


公告
 本博客在此声明所有文章均为转摘,只做资料收集使用。

我的分类(专题)

日志更新

最新评论

留言板

链接

Blog信息
blog名称:
日志总数:1304
评论数量:2242
留言数量:5
访问次数:7612061
建立时间:2006年5月29日




[Python]profile优化实践(基于A*算法)-1
软件技术

lhwork 发表于 2007/2/6 9:05:26

在《用profile协助程序性能优化》一文中,我们学习了python

阅读全文(1683) | 回复(0) | 编辑 | 精华 | 删除
 


[Python]可爱的 Python: Decorator 简化元编程
软件技术

lhwork 发表于 2007/2/5 9:02:47

Python 使元编程成为可能,不过每个版本的 Python 都有一些细微的区别(并且不是完全兼容),这使我们实现元编程的道路变得更加崎岖。一类函数对象的使用由来已久,同样还有一些技术用于探索和实现魔术般的属性。在版本 2.2 中,Python 增加了一种很有帮助的定制元类机制,但是其代价就是令用户绞尽脑汁。最近,在 2.4 版本中,Python 增加了 “decorator” ,这是适于执行大部分元编程的最新方式 —— 也是到目前为止对用户最友好的方式。


阅读全文(1732) | 回复(0) | 编辑 | 精华 | 删除
 


[Python]Python Challenge 答案 (6-10)
软件技术

lhwork 发表于 2007/2/4 15:02:34

第6题: zip 模块
title提示是一对。
源代码中出现〈!-- 〈-- zip --〉字样
从http://www.pythonchallenge.com/pc/def/channel.zip 下载zip文件
(提示够变态吧)
打开zip文件中的readme.txt 可以看到
welcome to my zipped list.hint1: start from 90052
hint2: answer is inside the zip
感觉解题思路基本上和上面那个反复调用url的题一样
r=re.compile(r'(\d+)$')
nextnothing='90052'while(1):
try:
f=open('./python challenge/%s.txt' % nextnothing)
result=f.read()

阅读全文(4324) | 回复(0) | 编辑 | 精华 | 删除
 


[Python]Python Challenge 答案 (1-5)
软件技术

lhwork 发表于 2007/2/4 15:01:42

从没想过解题还能这么有趣。
刚打开pythonchallenge的站点时有点莫名其妙的感觉,并不清楚到底问题在哪里。后来发现其中的奥秘就是你要在他所给的线索中找到下一题的url,这样便可以进入下一关了。
python challenge中有几个地方是重要的线索来源:
1:title (其中通常含有解题的思路提示)
2:page source (页面源代码,中间通常有数据资源,或者指明数据资源的位置)

第0题:
出现一幅画面,上面写着2**38,教你如何进入下一关。
计算出2**38 =
将浏览器中的 http://www.pythonchallenge.com/pc/def/0.html 改成 http://www.pythonchallenge.com/pc/def/274877906944.html 即可

第1题:密码转换
图片中显示出字符转换的规律 new_c=chr(ord(old_c)+2) 超过自动回转
title中提示making trans
因此比较简单的方法是直接

阅读全文(2924) | 回复(0) | 编辑 | 精华 | 删除
 


[Python]python 的 urllib 如何处理gzip的页面数据
软件技术

lhwork 发表于 2007/2/4 14:48:59

    python-cn上一个朋友提出的问题,自己以前也没想过,恰巧django中有一个middleware是做gzip处理的,看了一下它的代码,了解到可以通过StringIO的方式,将字符串以文件的形式来进行处理。
StringIO应该是一个非常有用的模块,因为很多函数都是只支持文件的,使用它后就没有问题了。


import urllib2
import cStringIO
import gzip

f=urllib2.urlopen('http://www.gzip.com/aaaxxx
') #gzip url
zbuf=cStringIO.String(f.read())
print gzip.GzipFil

阅读全文(4939) | 回复(0) | 编辑 | 精华 | 删除
 


[Python]Python正则表达式操作指南2
软件技术

lhwork 发表于 2007/2/2 16:09:56

更多模式功能 到目前为止,我们只展示了正则表达式的一部分功能。在本节,我们将展示一些新的元字符和如何使用组来检索被匹配的文本部分。 1. 更多的元字符

阅读全文(2766) | 回复(0) | 编辑 | 精华 | 删除
 


[Python]Python正则表达式操作指南1
软件技术

lhwork 发表于 2007/2/2 16:07:45

原文出处:http://www.amk.ca/python/howto/regex/ 原文作者:A.M. Kuchling (amk@amk.ca) 授权许可:创

阅读全文(3254) | 回复(0) | 编辑 | 精华 | 删除
 


[Python]图片批处理的脚本
软件技术

lhwork 发表于 2007/2/2 15:57:18

国庆出去玩,拍了一些相片要寄给家人。打开文件夹一看,200M,不知道要传到什么时候,所以必须的缩小一些。一两张还可以用ps改改,100多张?!
花了5分钟写了一段程序来处理,立即搞定,前提是计算机上要装有python和Python Imaging Library (PIL) 程序很简单 下载: batch.py

  • 阅读全文(6556) | 回复(0) | 编辑 | 精华 | 删除
     


    [Python]TCP网络程序的基本框架
    软件技术

    lhwork 发表于 2007/2/2 15:56:59

    这段时间看了不少网络程序的代码,也动手写了几个server/client.总结一下,大部分网络程序使用的是tcp,用udp只有3个理由:
    1.允许一定的包丢失
    2.需要做nat穿透
    3.节省资源,如socket句柄. 而大多数应用层通讯协议,特别是数据量传输比较大的,为了效率和可靠性都会采用tcp.而TCP是流结构,应此要考虑2种情况:
    1.发送数据被阻塞
    2.接受包不完整或者多余.
    虽然tcp是stream,但是为了解析网络数据都是基于二进制封包或者基于文本的token形式存在. 对二进制的封包来说,一般结构如下:

  • 阅读全文(1919) | 回复(0) | 编辑 | 精华 | 删除
     


    [Python]Python中的单元测试
    软件技术

    lhwork 发表于 2007/2/2 15:56:11

    我用过的testunit有Nunit,Pyunit,Dunit,从易用性来说Pyunit>Nunit>Dunit,这个是由语言特性决定的.PyUnit有不同的实现,python标准库中有一个自带的. 不过说回来,脚本语言unittest的重要性并没有这么大,因为在每个程序文件中随手定义一些测试函数,直接运行就是.这里unittest 模块存在的意义在于能够打印一些profile信息
    它的使用非常简单,你的测试类必须是unittest.TestCase的子类,然后定义相应的测试函数,只要把函数名称写成testXXX的格式,然后运行unittest.main(),这些测试函数就会被调用.另外,unittest.TestCase提供了一个函数setUp,这个函数会在每个测试函数被调用之前都调用一次,如果需要做一些初始化处理,可以重载这个函数.unittest模块还提供了一些高级功能,可以查看帮助.
    阅读全文(1755) | 回复(0) | 编辑 | 精华 | 删除
     


    « 1 2 3 4 »



    站点首页 | 联系我们 | 博客注册 | 博客登陆

    Sponsored By W3CHINA
    W3CHINA Blog 0.8 Processed in 0.172 second(s), page refreshed 144764643 times.
    《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
    苏ICP备05006046号