原文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

posted on 2014-03-26 17:26  学到老死  阅读(19161)  评论(0编辑  收藏  举报