最近关于python我所碰到的几个问题

1、py2exe打包之后的sys.path[0]返回的并不是当前目录而是自身的绝对路径(包含文件名)

这个在初始化时用os.path.isdir判断一下就可以了

2、打包之后的exe文件在关闭后进程却没有结束

这个主要是引用了from wx.lib.pdfwin import PDFWindow,这种情况在C#里面也出现了,C#引用AcroPDFLib之后,关闭程序但进程却没有结束。

python下的解决:os.getipid()取得自身pid然后杀掉这个进程。在此多谢志文同学的意见

3、打包时提示缺少msvcp90.dll

这个在Google一下就会发现有很多人都碰到这样的问题,解决方法很简单,直接下载msvcp90.dll放到python安装目录的dlls文件夹中去就可以了

4、wxpython的wxGenericDirCtrl很好用,但是我不知道是否可以只加载指定目录或者隐藏某些目录,如果可以,做法是?

暂时使用wx.TreeCtrl

5、在解决以上问题并在本机打包成功运行,我把生成的dist文件夹复制到在虚拟机新装的Windows server 2003却又运行出。

未解决!

本日志由 feng 于 2010-03-03 15:52:24 发表到 Programming 中,目前已经被浏览 31 次,评论 1 次;

作者添加了以下标签: pythonpy2exewxpython

 最近在用python在处理包含html代码的list时出现如下错误

  1. (<type 'exceptions.TypeError'>, TypeError('sequence item 0: expected string, Tag found',), <traceback object at 0x02F83E18>) 

使用s = ''.join(str(n) for n in listObj)处理一下就正常了

BeautifulSoup 这样删除一个sub tree

  1. from BeautifulSoup import BeautifulSoup 
  2. soup = BeautifulSoup("<a1></a1><a><b>Amazing content<c><d></a><a2></a2>"
  3. soup.a1.nextSibling 
  4. # <a><b>Amazing content<c><d></d></c></b></a> 
  5. soup.a2.previousSibling 
  6. # <a><b>Amazing content<c><d></d></c></b></a> 
  7.  
  8. subtree = soup.a 
  9. subtree.extract() 
  10.  
  11. print soup 
  12. # <a1></a1><a2></a2> 
  13. soup.a1.nextSibling 
  14. # <a2></a2> 
  15. soup.a2.previousSibling 
  16. # <a1></a1> 

本日志由 feng 于 2010-02-22 16:14:05 发表到 Programming 中,目前已经被浏览 26 次,评论 0 次;

作者添加了以下标签: pythonstringBeautifulSoup

记录一下

pil,numpy,scipy,matplotlib

另外有个跟科学计算相关的python(x,y)收集了众多的函数库以及文档、教程

本日志由 feng 于 2010-01-28 22:19:12 发表到 Programming 中,目前已经被浏览 93 次,评论 0 次;

作者添加了以下标签: python

整理了几个用python进行gui开发的一些库

Tkinter
Tkinter(也叫Tk接口)是Tk图形用户界面工具包标准的Python接口。Tk是一个轻量级的跨平台图形用户界面(GUI)开发工具。Tk和Tkinter可以运行在大多数的Unix平台、Windows、和Macintosh系统。
Tkinter 由一定数量的模块组成。Tkinter位于一个名为_tkinter(较早的版本名为tkinter)的二进制模块中 。Tkinter包含了对Tk的低 级接口模块,低级接口并不会被应用级程序员直接使用,通常是一个共享库(或DLL),但是在一些情况下它也被Python解释器静态链接。
除了Tk接口模块,Tkinter也包含了一定数量的Python模块。其中两个最重要的模块是Tkinter本身和名为Tkconstants的模块。前者自动引导后者,因此使用Tkinter,你首先需要做的是导入Tkinter模块,
wxPython
wxPython是Python语言的一套优秀的GUI图形库,允许Python程序员很方便的创建完整的、功能键全的GUI用户界面。 wxPython是作为优秀的跨平台GUI库wxWidgets的Python封装和Python模块的方式提供给用户的。
就如同Python和wxWidgets一样,wxPython也是一款开源软件,并且具有非常优秀的俄跨平台能力,能够支持运行在32位windows、绝大多数的Unix或类Unix系统、Macintosh OS X下。
PyQT
PyQt是Python是Qt库的Python绑定。PyQt3支持Qt1到Qt3。 PyQt4支持Qt4。它的首次发布也是在1998年,但是当时它叫 PyKDE,因为开始的时候SIP和PyQt没有分开。PyQt是用SIP写的。PyQt遵从奇趣的许可模式,有GPL版和商业版。
PyQt向Python程序员提供了使用完整Qt应用程序接口的方法。您几乎可以用Python做任何C++能做的事。
pyGtk
PyGTK底层的GTK+提供了各式的可视元素和功能,可以开发在GNOME桌面系统运行的功能完整的软件.PyGTK真正具有跨平台性,它能不加修改地,稳定运行各种操作系统之上,如Linux,Windows,MacOS等.除了简单易用和快速的原型开发能力外,PyGTK还有一流的处理本地化语言的独特功能.PyGTK是自由软件,所以你能几乎没有任何限制的使用,修改,分发,研究它,它是基于LGPL协议发布的.
IronPython
如果你要想开发.net下面的应用的话,那么IronPython就是你的不二选择,他支持标准的python模块,但同样增加了对.net库的支持,你可以非常方便地使用python语法进行.net应用的开发。
其他类似的PythonCard、Dabo、AnyGui、WPY、jython、pywin32

本日志由 feng 于 2010-01-28 20:47:54 发表到 Programming 中,目前已经被浏览 86 次,评论 7 次;

作者添加了以下标签: pythongui

 这段时间在改造之前写的的一个下载器,当时是用php实现的,现在改用python实现。因为远程文件都是以中文名字存放的,一开始用python处理起来碰到很多问题,其中最烦的就是在保存文件时对中文url的处理一直出错。最后发现用encode转换一下就可以正常支持了。

BeautifulSoup真的很好用

  1. urlstr.encode('gb2312'

本日志由 feng 于 2010-01-22 10:06:47 发表到 Programming 中,目前已经被浏览 62 次,评论 0 次;

作者添加了以下标签: python下载器中文乱码