(Python實現------txt文件的讀取和寫入,按行讀取和寫入)通過Python切換hosts文件(轉),逐行讀取host文件,然后寫入等操作


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM