bestlong 怕失憶筆記

當健忘由隨機逐漸趨向常態時,作筆記是非常必要的

Entries for the ‘程式設計’ Category

在 Linux 中建立 Web spider

收集網路資訊用人工方式,遜。可以建立自己的 Web spider 來處理,還可以過濾掉 HTML 與 JavaScript 等內容,保留有意義的內容部分。
下列這篇文章介紹如何在 Linux 中建立一個 Web spider 來收集網站資料:
Build a Web spider on Linux

Leave a Comment

wxPython GUI 設定程式Icon

使用 wxPython 設計GUI應用程式可用幾行程式碼來產生一個基本視窗

1
2
3
4
5
import wx
app = wx.PySimpleApp()
frame = wx.Frame(None,-1,"Set Icon",size=(300,100))
frame.Show()
app.MainLoop()

執行後會出現下列圖示的視窗

wxPython GUI App no Icon

可是左上角的圖示預設是沒有處理很不美觀,可以增加處理Icon的程式修改。
首先找一個Icon圖檔名稱設為 app.ico 然後放在程式同一個目錄下,然後修改程式如下:

1
2
3
4
5
6
7
8
import wx
app = wx.PySimpleApp()
frame = wx.Frame(None,-1,"Set Icon",size=(300,100))
icon = wx.EmptyIcon()
icon.CopyFromBitmap(wx.Bitmap('app.ico', wx.BITMAP_TYPE_ANY))
frame.SetIcon(icon)
frame.Show()
app.MainLoop()

執行後就如下圖中的左上角就會出現圖示,是不是美觀多了。

wxPython GUI App SetIcon

載入圖示還有其他方式

方法二

1
2
3
4
5
6
import wx
app = wx.PySimpleApp()
frame = wx.Frame(None,-1,"Set Icon",size=(300,100))
frame.SetIcon(wx.Icon('app.ico', wx.BITMAP_TYPE_ICO))
frame.Show()
app.MainLoop()

方法三

1
2
3
4
5
6
7
8
import wx
app = wx.PySimpleApp()
frame = wx.Frame(None,-1,"Set Icon",size=(300,100))
ib = wx.IconBundle()
ib.AddIconFromFile("app.ico",wx.BITMAP_TYPE_ANY)
frame.SetIcons(ib)
frame.Show()
app.MainLoop()

以上是因為 wxPython 改版所增加的多種處理方式。

上列程式碼在 XP, Python 2.5.1, wxPython 2.8.7.1 環境下執行測試無誤。

Leave a Comment

Python 快速參考卡

Python Quick Reference Card

Leave a Comment

Python Quick Reference

Richard Gruet’s Python page

Python Quick Reference

由 Richard Gruet’s 所整理的快速參考文件,對於學習使用 Python 的人有很大的幫助

Leave a Comment

讓Python連接PostgreSQL資料庫

使用 PyGreSQL – Python interface for PostgreSQL 來處理,可以到 PostgreSQL 官方網站下載。

操作環境如下
作業系統:Windows XP Professional
Python版本:2.5.1 for win
PostgreSQL版本:8.2.5 for win
PyGreSQL版本:PyGreSQL-3.8.1.win32-py2.5.exe

取得PyGreSQL時要注意與Python的版本對應

假設有個資料庫名為 db1 而其中有個資料表名為 table1 我們可以寫如下列簡易程式

1
2
3
4
5
6
7
8
# -*- coding: utf-8 -*-
import pg
conn = pg.connect('db1','localhost',5432,None,None,'username','password')
ds = conn.query("select * from table1")
if len(ds.getresult()) > 0:
        print ds
print "Press enter to continue."
raw_input()

這樣就會列出 table1 中的所有資料

Leave a Comment

  • 工商服務

    廣告讀取中...
  • 近期留言

  • 標籤

  • 彙整