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