吳老的《selenium webdriver 實戰寶典》出版了!
一.學習內容* 文件操作常用方法
二.文件操作常用方法1. fb.read([size]):size為讀取的長度以byte為單位
如果不指定參數,表示一次性讀取全部內容,以字符串形式返回,並且每一行結尾會有一個「\n」符號
代碼為:
#encding=utf-8
fp =open("C:\\Users\\yumeiling\\Desktop\\a.txt","r")
print fp.read()
fp.close()
fp =open("C:\\Users\\yumeiling\\Desktop\\a.txt","r")
print fp.read(2)
fp.close()
文件為:utf-8
運行結果為:
2. fb.readline([size]):一行一行列印,可以指定列印該行的長度
如果給定了size,有可能返回的只是一行的一部分,以字符串的形式返回,並且結尾會有一個換行符」\n」,讀完一行,文件操作標記移動到下一行的開頭
代碼為:
#encding=utf-8
fp = open("C:\\Users\\yumeiling\\Desktop\\a.txt","r")
print fp.readline()
fp.close()
文件為:utf-8
運行結果為:
代碼為:
#encding=utf-8
fp =open("C:\\Users\\yumeiling\\Desktop\\a.txt","r")
print fp.readline(2) #指定size長度為2,則只列印該行的2個長度字符
fp.close()
文件為:utf-8
運行結果為:
3. fb.readlines([size]):一行一行列印,可以指定列印該行的長度
把文件每一行作為一個list的一個成員,是一個字符串,並且結尾會有一個換行符」\n」,並返回這個list,這個函數的內部是通過循環通用readline()來實現的,如果指定了size參數,表示讀取文件指定內容的長度,此時就有可能只能讀取文件的一部分,並且結尾會有一個換行符」\n」。
指定很小的數字,會不生效,python默認8k緩存區大小,需要大於8k生效
代碼為:
#encding=utf-8
fp = open("C:\\Users\\yumeiling\\Desktop\\a.txt","r")
print fp.readlines(2) #2很小小於8k,所以都列印出來了
fp.close()
運行結果為:
小記:
這裡的fp =open("C:\\Users\\yumeiling\\Desktop\\a.txt","r")
也可以寫成:用r以後後面的\就不用\\了
p = open(r"C:\Users\yumeiling\Desktop\a.txt","r")
4. fb.write(str):將str寫到文件中,默認是不加換行符的,所以如果想換行的話需要自己加換行符\n
代碼為:
#encding=utf-8
#打開文件準備寫文件
fp = open("C:\\Users\\yumeiling\\Desktop\\a.txt",'w')
#將列表testList所有內容一次全部寫入文件
fp.write('test'+'\n')
fp.write('yml\n')
fp.write('a')
fp.close()
運行結果為:桌面的a.txt文件中被寫入內容:
注意:
這裡的想換行需要自己加換行符以外,還有在write數據只能寫入字符串或者字符類型,如果是其他類型就會報錯,如寫入int類型就會報錯。
代碼為:
#encding=utf-8
#打開文件準備寫文件
fp = open("C:\\Users\\yumeiling\\Desktop\\a.txt",'w')
#將列表testList所有內容一次全部寫入文件
fp.write(2)
fp.close()
運行結果:
5. fb.writelines(seq):把序列seq的內容全部寫到文件中(多行一次性寫入),也不會自動加入換行符。
代碼為:
#encding=utf-8
testList = ['abcede\n','123\n', 'this is a test', '文件操作']
#打開文件準備寫文件
fp = open("C:\\Users\\yumeiling\\Desktop\\a.txt",'w')
#將列表testList所有內容一次全部寫入文件
fp.writelines(testList)
fp.close()
運行結果為:桌面的a.txt文件中被寫入內容:
注意:
fb.writelines(seq)不會自動加入換行符,如我的序列中沒有\n,則數據就會被寫成一行:
#encding=utf-8
testList = ['abcede', '123', 'this is atest', '文件操作']
#打開文件準備寫文件
fp = open("C:\\Users\\yumeiling\\Desktop\\a.txt",'w')
#將列表testList所有內容一次全部寫入文件
fp.writelines(testList)
fp.close()
運行結果為:桌面的a.txt文件中被寫入內容:
6. fb.close():file對象的close()方法刷新緩衝區裡任何還沒寫入的信息,並關閉文件,這之後便不能在進行寫入
當一個文件對象的引用被重新指定給另一個文件時,python會關閉之前的文件,用close()方法關閉文件是一個很好的習慣,如果文件關閉後還對文件進行操作就會產生valueError錯誤,但如果不及時關閉文件,有可能產生句柄洩露,丟失數據。
fp1 =open("C:\\Users\\yumeiling\\Desktop\\a.txt", "w")
print u'文件名:',fp1.name
fp1.close()
print u'文件是否關閉:',fp1.closed
7. fb.fluse():將緩衝區內容存入硬碟, fp.flush()刷新文件內部緩存區,將寫入文件的內容從內存中強制寫入到文件中,實時寫 。
文件常用操作方法在後續python學習之旅將繼續更新,歡迎學習。
參加光榮之路的測試開發班來實現你的測試開發夢想!
報名測試開發培訓請聯繫:
微信:mengqiao626
qq:875821166
官網:www.gloryroad.cn
微信公眾號:gloryroadtrain
性能測試QQ群:415987441
測試招聘QQ群: 203715128
Java2群:569534627
Python群:457561756
諮詢V信:mengqiao626
諮詢QQ:53617154
光榮之路公開課大講堂:413908278
安裝喜馬拉雅app,搜索「光榮之路」可以收聽吳老和他的朋友們分享的35小時測試知識語音