跳到主要內容

截至2006/04/19的Python精華文章!

Python相關的技術文章。
 測 試某個Python變數是否存在
假設我們要在Python下面檢查變數a是否存在?要如何作呢?
 py2exe 簡介
py2exe 是一個工具程式,可以將python程式轉換成為單一的執行檔案。在某些情況下使用者也許不想安裝整個python套件或是相關的檔案。透過py2exe 可以將您的工具包裝成單一的執行檔,及數個相關檔案。使用者只要下載這幾個檔案就可以執行該程式了。因為py2exe會自動將該工具的或自動搜尋您的 python程式中所有用到的模組及檔案加以集中包裝至這數個檔案中。
 Pygame 的小簡介
Pygame不是一個遊戲,它是一個遊戲的開發環境。
 用 來處理INI檔的Python程式
用來處理INI檔案的Python範例。
 如 何實現wxPython下的檔案拖放
在視窗系統的環境下,我們常常希望讓使用者能夠直接將一個或數個檔案拖拉至我們的程式中,就可以編輯或是處理這個檔案。
 透 過Microsoft Speech SDK及Python寫一個簡單的文字發音程式
有時候也許您想要找一個可以將文字直接透過電腦的Speaker唸出來的程式。也許有時您會想要上網去找一些所謂 Text2Speech的程式。其實,自己寫一個Speech程式並沒有想像中的那麼困難。只要您用對適當的語音程式庫即可。
 指 定Python程式碼的charset encoding
雖然Python是支援Unicode,可是釵h時候,還是需要能夠指定source code的charset已便Python直譯器能夠正確的處理。這個時候你可以透過指定一個特別的註解來要求Python直譯器使用特定的 charset來處理程式碼。
 透 過Microsoft Speech SDK及Python寫一個簡單的文字發音程式(加強版)
有時候也許您想要找一個可以將文字直接透過電腦的Speaker唸出來的程式。也許有時您會想要上網去找一些所謂 Text2Speech的程式。其實,自己寫一個Speech程式並沒有想像中的那麼困難。只要您用對適當的語音程式庫即可。
 img2py 的用法
img2py.py是一個很方便的工具,可以讓您將圖形轉換成PNG格式並且將其嵌入至指定的Python模組中。同時賦予 適當的程式代碼,使其得以在其他程式中動態的載入這些圖形。
 Windows 系統熱鍵擷取的Python程式範例
這是一個系統熱鍵擷取的Python程式範例。
 wxPython 抓Clipboard的範例
wxPython提供了一個非常簡便使用的機制讓程式可以輕易的與clipboard溝通。下面這個程式將展示這機制到底有 多簡單使用。
 關 於py2exe與win32com的makepy的問題
開 發python程式時,如果您要使用有關ActiveX的相關程式庫。多多少少會用到makepy的工具來產生一些python所需的檔案。一般在使用的 時候並不會有什麼樣的問題。可是如果您又透過py2exe將程式包裝起來時,將會發現到一件非常糟糕的事情,也就是makepy所產生出來,置於 win32com.gen_py模組之下的檔案,並沒有被載入。
 Python 使用tuple在串列型的參數
在Python的function定義中,我們可以透過一個簡單的方式來定義串列型的參數,這種參數通常拿來用於不定長度的 參數。
 一 個簡易的測試URL是否存在的Python程式
本程式主要是展現如何透過Python檢查網頁是否存在。
 自 製簡易的Python字串代換
有些時候,我們會想提供類似於Script語言或是INI檔案的代換字串功能。
 常 用的Python指令
下面列出常用的Python指令及其孕峞A對於初學Python的人而言應當相當有用:
 一 個取代檔案中字串的Python程式範例
這裡提供一個簡單的Python程式可用來代換指定檔案中的字串。
 解 開信件主題的編碼
常常您會看到這樣的字串出現在一些信件中 =?Big5?B?YWJj?= 這其實是一種編碼。
 將Python 的list分割成為兩兩一組
常常遇到一個狀況是要將一個list兩兩一組進行分割。方法當然有很多種,下面列一個最簡潔的。
 一 個WinGraphviz的Front-End
Graphviz 是一個用來繪製圖形的軟體,這裡所謂的圖形不是像小畫家那種圖。這裡所謂的圖形指的是類似於狀態圖的圖形。通常用於程式的說明文件或是科學論文中。 Graphviz的好處在於使用者是以簡單易懂的文字來描述想要繪製的圖形。然後藉由Graphviz來產生對應圖片。使用者只需要指定想要繪製的端點, 及端點與端點之間的關係,至於要怎麼安排位置與怎麼連線,通通交給Graphviz去傷腦筋就可以了。
 如 何避免Python的FutureWarnings
在撰寫Python程式時,有時您會遇到一些所謂的FutureWarnings。要如何將這些討厭的警告關閉呢?這裡提供 一個簡單的方式。
 用Python 控制Excel的範例
這是一個用Python控制Excel的範例。這個範例會利用Python在Excel中產生一個九九乘法表。
 更 有彈性建立變數的方式
許多時候,除了正常一個一個建立變數外,我們會希望有一個更方便的方式來建立一些變數。本文將向您揭露兩個更為方便的變數建 立方式。
 測 量load一個網頁及其圖片所需的時間
這是一個Python的程式,可以用來測量下載一個網頁及其圖片所需的時間。
 使 用Python來控制MS Word
Python可以透過win32com這個module來控制Office系列的軟體,本文將會針對如何運用Python來 控制MS Word做一個簡單的介紹。
 產 生指定目錄內檔案md5值的範例程式
本程式主要展示如何使用Python來對於指定的目錄內所有檔案進行md5的處理。執行本程式後可以得到一個類似於UNIX 下md5sum程式的結果。
 Python 寄信程式的範例
這是一個使用Python寄送郵件的範例。除了寄送一般的文字外,本範例還展示如何寄送含有附件的郵件。
 一 個簡單的Python MSN robot範例
本文使用msnp這個MSN module來示範如何製作一個簡單的MSN robot。所謂的MSN robot就是一個程式會自動依據對方的訊息來回應資料。
 一 個用Python來控制目前Excel表格的工具
本範例提供了一個類別,利用這個類別可以輕易的控制目前正在使用中的Excel表。如此,我們可以利用如PyShell或是 PythonWin作為Excel的命令列,來控制Excel。

留言

這個網誌中的熱門文章

Windows Installer死掉了嗎?

最近我的電腦發生了奇怪的事情。只要是與Windows Installer有關的東西,都無法動作了。也就是說,我無法安裝包裝成msi的軟體。也無法加以移除。搞了半天,始終沒有頭緒。一度動念頭想要將整台電腦重灌。 不過,經過一路追蹤問題,我發現是Windows Installer的服務無法啟動,而造成整個問題。透過系統管理工具中的『服務』,去啟動Windows Installer服務時,每次都看到代碼1067的錯誤訊息。無論怎麼重灌Windows Installer也無法解決。 今天突然靈光一閃,我開始把正在執行的程式一個接著一個砍掉,一邊砍一邊去啟動Windows Installer服務。試了好久,都快要放棄的時候。忽然我的Windows Installer就run起來了。趕快看一下是砍了哪個程式變成這樣的。終於被我找到罪魁禍首了!!就是下面這個程式造成的。只要把這個服務停掉,我的Windows Installer就復活了!!! 感謝匿名網友提供另外一個小技巧: 『只要在windows installer服務的內容裡,在登入那頁勾" 允許服務與桌面互動 " 就輕鬆解決囉!』 BTW, 我沒實際試過,有遇到這個問題的人,請試試看!然後好心的跟我回報一下! 有些網友找不到service的控制畫面。下面簡單說明一下: service的控制是在 『控制台->系統管理工具->服務』 英文的話是 『Control Panel->Administrative Tools->Services』 再不然,用command line下services.msc /s也可以叫出來。 再不行...就試試吧 > net stop LVPrcSrv > %WINDIR%\system32\sc.exe config LVPrcSrv start= disabled PS: 如果需要重新安裝MSI installer,可以到Microsoft的 下載中心 。

Portable Python

我常常需要把Python寫的script帶到其他電腦使用,因此,一個免安裝,可攜帶的Python就顯得十分重要。最近看過了幾個可攜式Python的方案,下面這個PortablePython是我覺得最合我意的方案。因為它提供了大部分會用到的Python module及工具,甚至連wxPython及PyGame也有。同時也有好用的Python編輯器PyScripter。所有開發Python所需的開發工具都一應俱全了!把它放到隨身碟中,就不用到處幫人安裝Python了。 PortablePython : http://www.portablepython.com/

一個Python程式可幫檔名加上日期與時間

很多時候,我們希望能夠將檔案或是目錄名稱加上一個時間及日期,以便release。所以,我就寫了一個小小的程式來達到這個目的。我把這個程式貼上來,讓有興趣的人可以拿去使用。 -- #!/usr/bin/env python # -*- coding: ascii -*- """ Usage: cfgfn.py [filename or directory list] """ import sys import os import time import re import glob ro = re.compile(r'(?P<FN> .*)-[0-9]{8}-[0-9]{4}(?P<EXT> .*)') for fnl in sys.argv[1:]: for fn in glob.glob(fnl): mo = ro.match(fn) if mo: pre = mo.group('FN') ext = mo.group('EXT') else: pre, ext = os.path.splitext(fn) newFn = pre + time.strftime('-%Y%m%d-%H%M') + ext os.rename(fn, newFn) print 'Rename %s -> %s' % (fn, newFn)