原文url:http://www.cnblogs.com/fnng/p/3625752.html
1,Window下txt文本,是怎么区别换行的? 回车。一行文字可以是无限长,直到有回车出现,那就是换了一行。其它程序读取时,也是根据这个回车,来区别txt文件的行数。
2,声明一个函数,实现读取文本文件功能,并将读取的内容写入到一个指定的文本文件中
def add_jing():
input=open(r'D:\usb.txt','r') #打开文件
lines=input.readlines() #读取文件
input.close() #关闭文件
output=open(r'D:\usb3.txt','w') #打开文件,其实这里,是创建文件。因为usb3.txt是不存在的
for line in lines: #for循环
if not line: #如果不存在该行,就跳出循环
break
jing=line #将当前行内容赋值给jing对象
if jing!='#':
print line
nf='#'+line
output.write(nf) #write方法,写入到指定文件中
else:
output.write(line)
output.close() #close关闭文件
---程序先以读(r)的方式打开HOST文件,readlines() 方法逐行的读取内容。然后,close()关闭文件。
---程序再以写(w)的方式打开HOST文件,对readlines() 获取的每一行数据判断是否有#号,没有的话加上。并通过write() 方法写入到HOST文件中。最后close()关闭文件。
3,上边通过读取和写入的方式,并不灵活。可以将hosts定义一个数组,直接写入到HOST文件。通过写入不同的数组来达到切换不同hosts的目的。
#coding=utf-8 import os '''内网测试环境''' insides = ['172.168.12.107 www.baidu.com', '172.168.10.129 pan.baidu.com', '172.168.12.107 un.baidu.com', '172.168.12.107 passport.baidu.com'] '''外网测试环境''' outsides = ['172.16.12.223 www.baidu.com', '172.16.10.223 pan.baidu.com', '172.16.12.111 un.baidu.com', '172.16.12.223 passport.baidu.com'] def inside_test(): output = open(r'C:\pyse\HOSTS.txt', 'w') for insid in insides: print insid output.write(insid) output.write("\n") output.close() def outside_test(): output = open(r'C:\pyse\HOSTS.txt', 'w') for outsid in outsides: print outsid output.write(outsid) output.write("\n") output.close() if __name__ == "__main__": #inside_test() outside_test()
上面的方式会更加简单,把定义的host数组写到HOST文件中,注意:每写一个数组元素需要加一个回车换行---write("\n")
如果想继续增加切换host的便捷性,可以使用wxPython写一个host的配置界面出来,那么也就是我们的SwitchHosts 工具了。
原文url:http://www.cnblogs.com/fnng/p/3625752.html