第一个Python小程序
匿名 · 更新于 2017/3/8
#coding:utf-8
import sys;
reload(sys);
sys.setdefaultencoding('utf-8');
import chardet;
code_list = ['utf-8','GB2312','gbk','windows-1252'];
import wx;
#读取文件将各种不同编码统一转为unicode编码 防止中文乱码
def deCodeStr(tmpstr):
code = chardet.detect(tmpstr)['encoding'];
print code;
if code in code_list:
if code == 'windows-1252':
return tmpstr.decode('gbk');
else:
return tmpstr.decode(code);
else:
return tmpstr;
#载入文件
def load(event):
file = open(filename.GetValue(),'r');
t = deCodeStr(file.read());
contents.SetValue(t);
file.close();
#保存文件
def save(event):
file = open(filename.GetValue(),'w');
file.write(contents.GetValue());
file.close();
app = wx.App();
win = wx.Frame(None,title="My First Python App",size = (410,335));
bkg = wx.Panel(win);
loadButton = wx.Button(bkg,label = "Open");
loadButton.Bind(wx.EVT_BUTTON,load);
saveButton = wx.Button(bkg,label = "Save");
saveButton.Bind(wx.EVT_BUTTON,save);
filename = wx.TextCtrl(bkg);
contents = wx.TextCtrl(bkg,style=wx.TE_MULTILINE | wx.HSCROLL);
hbox = wx.BoxSizer();
hbox.Add(filename,proportion=1,flag = wx.EXPAND);
hbox.Add(loadButton,proportion=0,flag=wx.LEFT,border=5);
hbox.Add(saveButton,proportion=0,flag=wx.LEFT,border=5);
vbox = wx.BoxSizer(wx.VERTICAL);
vbox.Add(hbox,proportion=0,flag=wx.EXPAND | wx.ALL,border = 5);
vbox.Add(contents,proportion=1,flag=wx.EXPAND | wx.LEFT | wx.BOTTOM | wx.RIGHT, border = 5);
bkg.SetSizer(vbox);
win.Show();
app.MainLoop();
