标签归档:python

用python开发windows程序

今天终于可以用wxPython开发GUI程序了,非常高兴。把其中的一些注意点写下来以供参考。
在windows XP平台下,首先需要做以下环境的配置:
1. 首先是安装python ,安装完之后将python/bin所在目录添加到path中。
2. 安装wxPython, 此时要注意wxPython的版本要与前面python的版本一致。
3. 安装py2exe, 这是windows平台下一个非常好的python程序发布工具,可以将python程序编译成exe而脱离python环境执行。
做完上面的安装后,我们就可以来测试一下了

———————————————–
#wxDemo.py

import wx

class App(wx.App):
def OnInit(self):
frame = wx.Frame(parent=None, title=’Bare’)
frame.Show()
return True

app = App()
app.MainLoop()
———————————————-
#setup.py
from distutils.core import setup
import py2exe

setup(windows=["wxDemo.py"])
———————————————-
在命令行执行python setup.py py2exe,当编译完成后,会有一个dist文件夹,里面有一个wxDemo.exe,这就是编译后的exe,在发布时,需要将这个文件夹下面的 library.zip,dll和wxDemo.exe放到同一个目录下,否则程序不能执行。现在,双击wxDemo.exe,你就会看到一个窗口了:)

作者:豆博草堂

用python写的一个判断是否为质数的函数

 

#!/usr/bin/python
# Judge whether a interger is a prime.
#isprime.py

import sys
import math

def isPrime(num):
    if not isinstance(num, int):
       return False
    anum = num
    if anum < 0:
       anum = math.fabs(anum)
    if anum == 1:
       return False
    if anum == 2 or anum == 3:
       return True
    if math.fmod(anum, 2) == 0:
       return False
    endN = math.sqrt(anum) + 1
    i = 3
    ret = True
    while i < endN:
       if math.fmod(anum, i) == 0:
          ret = False
          break;
       i += 2
    return ret

if __name__ == "__main__":
      if len(sys.argv) < 2:
         print "usage is:"
         print "python isprime.py <value1> [< <space>value2>< <space>value3>...]"
      numlist = sys.argv[1:]
      n = 0
      for num in numlist:
          try:
             n = int(num)
             if isPrime(n) :
                print num + " is a prime."
             else :
                print num + " is not a prime."
          except ValueError:
                print num + " is not a prime."

作者:豆博草堂