改变系统hosts的软件(PYTHON写的)
Posted in 默认分类 on 一月 7th, 2010 by admin – 评论关闭做前端,测试,程序开发需要不停的转换系统hosts文件。
用批处理与EDIT在集成测试时比较麻烦,所以写下这个软件
FOR XP
改变系统hosts工具-XP
FOR WIN7
改变系统hosts工具-windows7
其他平台没有试过。
使用 python2.5 + wxpython2.8 + py2exe
功能比较简单。
做前端,测试,程序开发需要不停的转换系统hosts文件。
用批处理与EDIT在集成测试时比较麻烦,所以写下这个软件
FOR XP
改变系统hosts工具-XP
FOR WIN7
改变系统hosts工具-windows7
其他平台没有试过。
使用 python2.5 + wxpython2.8 + py2exe
功能比较简单。
因工作需要一直修改系统hosts,以切换内网,外网,其他测试服务器。
天天改比较麻烦写了这个小工具比较简单, 打包成EXE后比较大(不过自己用的东西就没啥讲究了)
贴上源代码
#-* coding:GBK *-
import os
import wx
def create(parent):
return Frame1(parent)
# assign ID numbers
[wxID_FRAME1, wxID_FRAME1BUTTON1, wxID_FRAME1BUTTON2, wxID_FRAME1LISTBOX1,
] = [wx.NewId() for _init_ctrls in range(4)]
class Frame1(wx.Frame):
def _init_ctrls(self, prnt):
# BOA generated methods
wx.Frame.__init__(self, id=wxID_FRAME1, name='', parent=prnt,
pos=wx.Point(400, 400), size=wx.Size(500, 400),
style=wx.DEFAULT_FRAME_STYLE, title='改系统hosts,需要把要修改的hosts文件放在hosts目录下面')
self.SetClientSize(wx.Size(750, 300))
self.listBox1 = wx.ListBox(choices=[], id=wxID_FRAME1LISTBOX1,
name='listBox1', parent=self, pos=wx.Point(10, 10),
size=wx.Size(200, 240), style=0)
self.t1 = wx.TextCtrl(self, -1,"",size=(520, 280), pos=wx.Point(220, 10),style=wx.TE_MULTILINE|wx.TE_PROCESS_ENTER)
'''列表目录中所有文件'''
for i in os.listdir('./hosts/'):
self.listBox1.Append(i)
self.listBox1.Bind(wx.EVT_LISTBOX, self.OnListBox1Listbox,
id=wxID_FRAME1LISTBOX1)
self.button2 = wx.Button(id=wxID_FRAME1BUTTON2, label='改写系统hosts',
name='button2', parent=self, pos=wx.Point(10, 260),
size=wx.Size(200, 30), style=0)
self.button2.Bind(wx.EVT_BUTTON, self.OnButton2Button,
id=wxID_FRAME1BUTTON2)
def __init__(self, parent):
self._init_ctrls(parent)
def OnListBox1Listbox(self, event):
selName = './hosts/' + self.listBox1.GetStringSelection()
#self.SetTitle(selName)
f = open(selName, "r+")
try:
all_the_text = f.read( )
finally:
f.close()
self.t1.Clear()
self.t1.write(all_the_text)
def OnButton2Button(self, event):
x = os.getenv('WINDIR')+"\system32\drivers\etc\hosts"
v = self.t1.GetValue();
v = v.encode('gb2312')
f = open(x, 'w')
f.writelines(v)
f.close( )
#--------------- end of class Frame1 --------------------
# program entry point ...
if __name__ == '__main__':
app = wx.PySimpleApp()
wx.InitAllImageHandlers()
frame = create(None)
frame.Show()
app.MainLoop()
Stack Overflow是很受欢迎的程序设计问题协作式问答社区,当程序员在编程中遇到问题,他们会在Stack Overflow上发帖讨论,这些问题会涉及到各种语言。于是便提出一个有趣的问题:在工作日程序员通常问何种语言的问题较多,周末呢?
使用Stack Overflow的存档,Dan Lorenc分析了一周内程序语言的活跃性。结果发现:到了周末询问Python和Ruby相关问题的数量上升,而C#和Java的数量下降。这意味着程序员周末在个人项目上使用较多的是Python和Ruby语言,可能是因为它们用起来让人愉快。下次当Boss让你选择工作语言时,你或许可以向他展示这个结果。
source:solidot
import os
base = raw_input('base address[d:/svn/]')
if base=='' :
base = 'd:/svn/'
module = raw_input('Module Name[search]')
if module =='' :
module = 'search'
Version = raw_input('Version[v1]')
if Version == '' :
Version = 'v1'
_t = ['css','images','html','js','page']
_d = ['1y','1m','1w','1d']
base = string.replace(base,'\\','\/')
base = base + '\/'
for i in _t :
if i<>'html' :
for j in _d:
url = base + i + '/' + module + '/' + Version + '/' + j + '/'
print url+ '->ok'
if os.path.exists(url)== False :
os.makedirs(url)
raw_input('done')
主要是用来生成文件目录用了.