我们在测试过程中,经常要配置host,切换不同的host来实现测试不同服务器的目的。
  通常的作法是打开drivers/etc/hosts,然后输入ip、域名,配置host后,开始测试。
  如果遇到要在不同host之间切换,那么上述打开文件,编辑host内容的步骤要反复进行,比较麻烦。
  或者有时候用notepad++和notepad打开hosts文件后,格式不一样,输入ip、域名后有时候不能生效。
  网上有很多切换host的工具,比如switchhosts,在这里,我们来通过一个示例的小程序,来说明下小工具到底怎么实现的,达到自动配置host的目的,减少手工操作。
  下面是代码说明
  #coding:utf-8
  import wx
  import os
  class Frame(wx.Frame):
  def __init__(self):#工具的显示和相关处理
  wx.Frame.__init__(self,None,-1,'SwithHosts Example',size=(1000,600))
  panel=wx.Panel(self,-1)
  ReadButton = wx.Button(panel, label = u'打开host',pos = (225,5),size = (80,25))
  ReadButton.Bind(wx.EVT_BUTTON, self.Read)#给button添加事件
  saveButton = wx.Button(panel, label = u'保存host',pos = (315,5),size = (80,25))
  saveButton.Bind(wx.EVT_BUTTON,self.Save)#给button添加事件
  self.filename = 'C:WindowsSystem32driversetchosts'#host文件路径
  self.contents = wx.TextCtrl(panel, pos = (5,35),size = (500,250), style = wx.TE_MULTILINE)
  hbox=wx.BoxSizer()
  hbox.Add(ReadButton,proportion=0,flag=wx.RIGHT|wx.HORIZONTAL)
  hbox.Add(saveButton,proportion=0,flag=wx.RIGHT|wx.HORIZONTAL)
  hbox.Add(self.contents,proportion=1,flag=wx.EXPAND|wx.ALL)
  panel.SetSizer(hbox)
  def Read(self,event):#读取host文件并显示在工具中
  file = open(self.filename)
  all_the_text=file.read()
  self.contents.SetValue(all_the_text)
  def Save(self,event):#读取工具中的输入内容后写入到host中
  value=self.contents.GetValue()
  file = open(self.filename,'w')
  file.write(value)
  file.close()
  if __name__ == "__main__":
  app=wx.PySimpleApp()
  frame=Frame()
  frame.Show()
  app.MainLoop()
  具体实现的效果