哈默博客

心随所致,梦想为开。Follow the Dreams & Heart.

Follow me on TwitterRSS Feeds

  • Home
  • 联系方式
  • 旅行去吧
  • 网站地图
  • 友情圈
  • 留言本
« python通过ADOdb访问mdb数据库
打雷下雨了,股市跌了 »

python学习资源(不断补充中…)

  • 根据例子学习python:http://www.codesampler.com/python.htm
python
Share this post!
  • Twitter
  • Digg
  • Facebook
  • Delicious
  • StumbleUpon
  • Google Bookmarks
  • LinkedIn
  • Yahoo Bookmarks
  • Technorati Favorites
Print article This entry was posted by hamo on 2007-05-28 at 17:40, and is filed under 读书学习. Follow any responses to this post through RSS 2.0. You can leave a response or trackback from your own site.
  • Related Posts
  • Comments (0)
No comments yet.
emoticons
;-):|:x:twisted::smile::shock::sad::roll::razz::oops::o:mrgreen::lol::idea::grin::evil::cry::cool::arrow::???::?::!:
  • Close

No trackbacks yet.

用Python写东西的笔记

about 1 month ago - No comments

自从最近这次换工作以后,空闲时间一下子变得奢侈起来,博客最近也写得少了,一些喜欢的小东西也无暇顾及。 ——————无聊分割线————————- 一直对python很钟情,不过最近很少用,能记得比较完整的程序就是“用Python做了个Spider”,当时在一个Linode的VPS上跑了几个月。最近处理数据时候又重新用python来做,做完之后还是继续感慨它的便利性。 用python的一个最大的优点就是可以快速的迭代式开发,不断的重构,这一点在这次体会尤深。 其中有几次跳跃式的重构如下: 第一次的重构在书写了几个数据段的解析函数之后,决定定制一个规则,然后通过解析规则来处理各种字段。于是有了一个大约20条记录的标签库(后来再加一个文件解析的时候又增加了6行),然后就处理了近30种数据段,而且可以很方便的定制扩充。 第二次重构在输出报告的完成了一个数据段的汇总后,抽象出了一个Report类,完全控制报告的输出。也就有了后来用css+html的报告时候的顺理成章。 另外一次不大的重构,在于利用的简化的有限状态自动机的思想来处理各种特殊情况。当然只是思想而不是一个完整的自动机。 这一条在N年前给sudidi同学的abaqus数据文件提取工具中就大体考虑过,可以说轻车熟路。 后来用配置文件来设置参数,打包exe。从开始学习到成功,大约花了30分钟,代码10行,我爱python。 除去一些修饰性的代码和css样式表,核心代码不到500行。如果用c++的话,代码量至少要翻2倍,时间2倍不止。 Eclipse+PyDev是目前开发python程序的不二选择,除去log外,一个完善的Debug环境还是很赞的。 ——————无聊分割线2——————– 有些东西记下来权当笔记,免得以后再找。 1.  文件路径的相关处理 用 os.path 就完全解决所有问题,包括路径拼接、路径拆分、相对路径提取、文件存在性判断、文件遍历、递归遍历等等。相关函数有: os.path.join os.path.basename os.path.exists os.makedirs os.path.isdir os.path.splitext 2. 文件的遍历 目录下的文件遍历有两种,一种是os.listdir,一种是用os.walk。如果需要递归,则后者更为方便。 1: files = os.listdir(proj_dir) 2: for f in files: 3: filepath = os.path.join(proj_dir,f) 4: if os.path.isdir(filepath): continue 5: if f.find(‘—-’)>-1: 6: shutil.copy(filepath, self.REPORT_DETAIL_DIR) 使用os.walk则很容易进行遍历: 1: for root,dirs,files…

Python中获取Javascript渲染后的HTML源码

about 2 years ago - 4 comments

Get Rendered HTML Source In Python 前因: 现在的网页越来越动态和漂亮,大量地用到了Javascript,包括但是不限于Ajax,这样一来直接查看网页源代码的话的,获取到的并不是真正的渲染完成后的页面。这对采集来说,是一个很大的挑战。 在火车头当中,对于Ajax获取的数据的话,可以手动分析页面提取的Ajax的处理url,然后来提取。但是对于复杂的session验证(特别是.NET的网站来说)处理比较困难。 另外一方面,对于javascript生成的页面,火车头也没法直接提取。 思路: 首先明确的是必须获取Javascript渲染结束后的结果。这一点是明确的,具体就是方法就因人而异。 而自己解决Javascript渲染无异于痴人说梦,所以必须借助现有的浏览器核心,比如Gecko、WebKit、IE。如果用Java开发的话可以Jrec这个库,它封装了Gecko。如果其他的语言,而且是在windows平台上的话,最简单的就是用—— COM,用Internet Explorer 提供的com组件。 解决方案: 突破了这层关系,下面的就水到渠成了。 在python下,对IE封装的比较完善而且文档齐全的就是PAMIE(http://sourceforge.net/projects/pamie),它的本意是作为自动化测试工具使用的。 需要注意的是,在页面加载完之后需要留出一定时间来让页面的js代码执行渲染完成后再提取html代码。这个时间需要通过试验确定。 需要注意的是: 前面所述的利用PAMIE来获取渲染后的html内容的方法是可行的,但是缺点是效率非常低。对于最常见的ajax动态内容页面来说,最直接的方法还是构造ajax请求,来获取相应内容。这样效率很高,而且返回数据都是结构化的xml或者json数据,比html更容易处理。

用Python做了个Spider

about 2 years ago - 4 comments

前因: 前些天为TAR写了一个Python的接口插件tar_pytar后,对python的兴致很高。 本博上面最火的文章就是“开源的火车头采集-Wordpress2.7.1免登录发布接口”,看来大家利用采集做垃圾站的热情也很好。 著名的火车头采集器LocoySpider也出2009版了,解决了.Net 3.5不兼容问题,而且采集标签进行了语法高亮。很好很强大。但是免费版不支持任意附件下载功能… 想下载点资料,但是论坛里面一个一个点击太烦… 于是: 自己做一个吧,python做这个肯定很合适,与火车头的功能做个对比: 说明: 私人玩具,无意公开。

为TAR写了一个Python的接口插件tar_pytar

about 2 years ago - 2 comments

TAR(Type And Run)是我一直以来所用的快速启动软件,最喜欢的是它那个快捷键呼出的超级简洁的命令行,而且TAR支持自动提取系统中已经注册的别名,比如excel就可以打开excel,mspaint打开画图。另外TAR支持插件,最常用的就是tar_math,可以对输入命令行的计算式进行计算,给出结果。 当然tar_math也存在缺点,那就是对大整数不支持,而且函数也不够丰富。另外还想增加一个查字典的功能。于是决定给TAR做个插件,取名叫tar_pytar。tar_pytar不只是个插件,而是一个python的接口插件。有了这个插件之后,就可以直接用python给TAR增加功能,而不是重新编译。 官方网站上有插件接口文件找不到了,于是给作者-=GaLaN=-发邮件要来了接口。TAR是拿Delphi写的,不过没关系。 时间紧张,只说明一下tar_pytar通过python接口提供的功能: 完整的math功能,完全可以取代tar_math。因为背后是python嘛。 词典功能,输入查询的英文单词,可以返回中文解释。(从dict.cn查询,同样感谢python的强大) 以后: 作为一个工作的中心,就是一些人对待emacs/tc的态度。

非常棒的Python入门书-Dive Into Python

about 4 years ago - No comments

在学习过Python Tutorial,有了基本一点概念之后,阅读Dive Into Python无疑是非常合适的。 Dive Into Python是一本免费的图书,可以在线阅读或者下载回来离线阅读,目前有英文、中文等多种语言版本。 这本书非常类似 Head First Design Patterns的写作风格,以几个简单但是非常有代表性的例子,深入浅出的讲解Python的概念和思想。

Trac与Apache的集成(ModPython)

about 4 years ago - 4 comments

在”Trac+SVN的安装与配置(tracd模式)“中介绍了以tracd方式的trac服务器的安装与配置,今天来研究一下Trac通过ModPython来与Apache的集成。 与tracd的方式相比,和Apache的集成有很多优点,比如充分利用apache的强大功能以及ModPython的高效率,便于管理与控制,很方便支持ssl等等。 1. 下载并安装程序 假设已经按照”Trac+SVN的安装与配置(tracd模式)“中的说明安装好了Trac。如果没有请参考安装 Apache-2.0.59:如果选择2.2,注意下面的ModPython的版本要对应 ModPython-3.3.1:这里注意选择与apache和python对应的版本,安装过程中会要求选择apache的安装目录,并且自动把mod_python.so复制到modules目录 2. 配置 配置ModPython 在apache的httpd.conf中加入下面一行: LoadModule python_module modules/mod_python.so 配置trac 在apache的httpd.conf中加入下面内容: <Location /trac> SetHandler mod_python PythonHandler trac.web.modpython_frontend PythonOption TracEnv F:\trac\proj1 PythonOption TracUriRoot /trac </Location> 然后就通过http://localhost/trac来访问 3. 下一步工作 配置Authentication 参考资料: Trac官方:TracModPython

Trac+SVN的安装与配置(tracd模式)

about 4 years ago - 1 comment

Trac最大的优点是其与wiki的集成,并且非常方便地与svn进行集成,而且是用python开发的,非常令人兴奋。 如果是在windows下安装的话,python的版本最好选择2.4。有一些模块于python25并不兼容。如果是在linux下安装,则可以安装最新的版本。 安装与配置都非常简单,下载完程序并依次安装完成就基本上可以了,具体如下: 1. 下载程序并安装程序(首先安装python,其余随便) Python24 Trac 0.10.2 Clearsilver-0.9.14 如果是linux平台,可以选择更新的版本 Pysqlite 2.3.2 svn-python-1.4.2 2. 配置Trac(假设python安装在c:\python,trac建立在F:\trac\proj1) 初始化trac环境: c:\python\scripts> ..\python.exe trac-admin f:\trac\proj1 initenv 根据提示,输入工程名称,数据库,svn版本库等信息,根据需要输入 启动tracd c:\python\scripts>..\python.exe tracd –port 8000 f:\trac\proj1 补充:如果是需要同时开发多个工程,可以这样: c:\python\scripts>..\python.exe tracd –port 8000 f:\trac\proj1 f:\trac\proj2 或者启动一个目录下的所有工程: c:\python\scripts>..\python.exe tracd –port 8000 -e f:\trac\ 这样就可以通过http://localhost:8000/来访问trac系统了。 另外,和大部分程序类似,trac的配置文件为安装目录下conf\trac.ini,可以自行修改各项参数。 参考资料: trac官方网站 Windows下安装配置集成Trac 下一步的工作: 与apache的集成 权限管理 trac的模块与插件

python通过ADOdb访问mdb数据库

about 4 years ago - No comments

前言:python访问access数据库可能有更好的方法,以后会慢慢补充。 在这里我们使用著名的ADOdb来访问access数据库。ADOdb是php平台上一个被广泛应用通用的数据库访问中间层,后来出现了python版本。ADOdb支持众多的数据库,包括access,mysql,post-SQL,SQL-lite等。ADOdb在其SourceForge上的项目主页下载,最新的版本是adodb-py202bp。 通过ADOdb访问access的mdb数据库非常简单。 下面是一个例子,程序打开数据库中的一张表,并把内容打印出来: import win32com.client conn=win32com.client.Dispatch(‘ADODB.Connection’) DSN=’PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=d:\\python\\11_STAT.mdb;’ conn.Open(DSN) rs=win32com.client.Dispatch(‘ADODB.Recordset’) rs_name=’co’ rs.Open(‘qdzf’,conn,1,3) #1和3是常数.代表adOpenKeyset 和adLockOptimistadLockOptimistic rs.MoveFirst() count=0 while not rs.EOF:   print “————————————————”   for x in range(rs.Fields.Count):         print “%20s: %s” % (rs.Fields.Item(i).name,rs.Fields.Item(x).Value)   count=count+1   rs.MoveNext() print “Record Count:%d” % (count,) conn.Close()

python的安装

about 4 years ago - No comments

1. 下载与安装 python的安装非常简单,直接从官方网站下载python的安装程序,运行即可。目前最新的python版本是2.5.1。 2.IDE与编辑器 由于python是以缩进(ident)来表示程序的层次结构,因此非常不建议使用notepad之类的普通文本编辑器来编写python程序。所以选择一个合适的IDE或者编辑器就非常重要。官方网站上列出了一些常见的IDE和编辑器,我目前用的PythonWin。 3.入门教程 不知从什么年代开始,可能是学习AutoCAD的ObjectARX的时候吧,我认为最好的入门教程就是程序的帮助或者Tutorial,Python也不例外。官网上有一堆的入门教材,当然也包括了Python Tutorial。其实安装完python后,在安装目录下有个帮助文件python25.chm,里面同样带有tutorial。 4.其他 如果在windows下面开发,比如需要和com打交道的时候,这个Python for Windows extensions是不容错过的,可以从SourceForge下载。 5.其他的其他 来自水木社区Python版的推荐入门材料,本人尚未学习研究: 推荐书籍: 1、《A Byte of Python(简明python教程)》 http://www.byteofpython.info/language/chinese/index.html 2、《Dive into Python(Python研究)》 http://www.woodpecker.org.cn/diveintopython/index.html 3、《Learning Python》 4、《Programming Python》 推荐站点: 1、啄木鸟社区 http://www.woodpecker.org.cn/ 2、肥肥世家学习笔记 http://www.ringkee.com/note 3、Python书籍下载站 http://www.miex.org/book.html

感兴趣的几个内容

about 5 years ago - No comments

下面这几个内容都很让我感兴趣,有的接触过,有的没有,后面有空可以研究一下。 lumaQQ,是luma做的一个开源的java版的QQ,无论界面还是体系结构都堪称一流,而且也包括了当初建议它加的QQ机器人的功能。主页在lumaqq.linuxsir.org。 DotMSN,是一个C#写的开源的MSN,实现了MSN8的协议,可以研究一下。网页在http://www.xihsolutions.net/dotmsn/。顺便可以看看另外的java版的开源的msn。 Lua语言,www.lua.org,一个轻巧的脚本语言,目前主要用于游戏的脚本控制。目前尝试在程序中集成,还是比较方便。 Python,www.python.org,可以算是重量级别的脚本语言,有丰富的基础库,目前还没有学习。 FoodRank,建立一个类似google的PageRank技术。

    • Recent comments
    • Popular posts
    • Archives
    • Tags
    • Categories
    • 快乐每一天 (275)
    • 技术讨论 (151)
    • 读书学习 (16)
    • 随心所记 (110)
    Adsense album amusing apache bless blog book crack film Google gtalk health history holiday home joke kwait life memory MFC microsoft mobile msn n73 network news newsoft php picture plugin program proxy python skype SVN thought today travel Windows Live Writer wordpress work 地震 奶粉 安全食品 食品安全
    • February 2012 (1)
    • January 2012 (3)
    • December 2011 (5)
    • November 2011 (1)
    • October 2011 (5)
    • September 2011 (16)
    • July 2011 (1)
    • June 2011 (1)
    • January 2011 (1)
    • October 2010 (6)
    • June 2010 (1)
    • March 2010 (4)
    • February 2010 (3)
    • January 2010 (8)
    • December 2009 (7)
    • November 2009 (5)
    • October 2009 (2)
    • September 2009 (1)
    • August 2009 (1)
    • July 2009 (3)
    • June 2009 (3)
    • May 2009 (2)
    • April 2009 (8)
    • March 2009 (4)
    • February 2009 (7)
    • January 2009 (15)
    • December 2008 (21)
    • November 2008 (16)
    • October 2008 (19)
    • September 2008 (30)
    • August 2008 (15)
    • July 2008 (7)
    • June 2008 (7)
    • May 2008 (8)
    • April 2008 (4)
    • March 2008 (13)
    • February 2008 (5)
    • January 2008 (4)
    • December 2007 (15)
    • November 2007 (13)
    • October 2007 (15)
    • September 2007 (14)
    • August 2007 (18)
    • July 2007 (25)
    • June 2007 (26)
    • May 2007 (13)
    • April 2007 (24)
    • March 2007 (43)
    • February 2007 (21)
    • January 2007 (26)
    • December 2006 (15)
    • November 2006 (6)
    • September 2006 (4)
    • August 2006 (4)
    • July 2006 (1)
    • January 2006 (1)
    • December 2005 (1)
    • WordPress免登录发布接口,支持WP3.0 (477)
    • 最新的IP Messenger(IPMsg) 2.50 中文版下载 (51)
    • fring真是一个好东西 (38)
    • 我家女儿出生了 (21)
    • 在VPS上用3Proxy架设http代理和socks代理(Ubuntu) (16)
    • 试用基于Xen的VPS(2):配置squid服务器 (14)
    • WordPress 3.0发布了 (12)
    • 赠送Google Wave的邀请 (12)
    • 1455天-Dreamhost时代结束 (10)
    • 使用fring在手机上打voip网络电话 (9)
    • 开心淘宝客: 预约发布是个麻烦的问题
    • 开心淘宝客: satwe 很难记啊
    • 开心淘宝客: ...
    • 30 links español PR 5-2: 30 links español PR 5-2... [...]fring真是一个好东西[...]...
    • 开发信 » 哈默免登陆发布接口: [...] 原文地址:http://www.satwe.com/archives/917.html [...]
    • 开发信 » 站群技巧,做记录备用: [...]     答案就是火车头采集,泊君seo伪原创工具,哈默免登陆发布接口。 [...]...
    • 2011年专业技术回顾-Q4: [...] 2011年专业技术回顾-Q1 [...]
    • 2011年专业技术回顾-Q4: [...] 2011年专业技术回顾-Q2: [...] « 2011年专业技术回顾-Q1 2011年专业技术回顾-... [...]...
  • My latest tweets

    Loading tweets...
    Follow me on Twitter!
  • User Login






    • Lost your password?
  • Blogroll

    • Code Library
    • End of Sky 天涯
    • Hangtian
    • ImagiQ
    • miaowu的“海洋气候”
    • Not found
    • pearl的space
    • pengpeng的๑۩۞۩๑
    • Shangxia
    • SonglinYi
    • Spaces蕾蕾老猫
    • 且行且远
    • 久酷博客
    • 灵感点滴
    • 纤柔彩梵
Mystique theme by digitalnature | Powered by WordPress
RSS Feeds XHTML 1.1 Top