1 f = open('text', 'r') # f是文件句柄 2 data = f.read() # read方法能夠加整型參數,是幾就讀幾個字符 3 print(data) 4 f.close()
readline():每次讀文件中的一句。緩存
readlines():將整個文件中的字符所有讀出,並將其存在一個列表裏,列表中的每一個元素是文件中的一句。spa
在讀大文件時儘可能不要用readlines,太佔用內存。code
1 f = open('text', 'r') 2 a = f.readline() 3 b = f.readline() 4 c = f.readline() 5 d = f.readline() 6 print(a) # my name is Bob 7 print(b) # I am 18 years old 8 print(c) # I like learning 9 print(d) # I have a dog
f = open('text', 'r') lines = f.readlines() print(lines) # ['my name is Bob\n', 'I am 18 years old\n', 'I like learning\n', 'I have a dog']
文件句柄是一個迭代器,能夠經過for循環取出迭代器中的值,節約內存,處理效率更高。blog
1 f = open('text', 'r') 2 for i in f: 3 print(i.strip()) 4 # my name is Bob 5 # I am 18 years old 6 # I like learning 7 # I have a dog
1 f = open('text', 'w') 2 f.write('hello world') 3 f.close()
1 f = open('text', 'a') 2 f.write('hello world') 3 f.close()
1 f = open('text', 'r') 2 print(f.tell()) # 0 3 print(f.read(2)) # he 4 print(f.tell()) # 2 5 f.seek(0) 6 print(f.tell()) # 0
1 f = open('text', 'w') 2 f.write('Bob is 32') # 此時文件中並無寫入 3 f.flush() # 將剛寫入緩存區的內容寫入到磁盤中 4 f.close()
1 # r+ :從文章起始位置讀,從文章最後寫 2 # w+ :從光標後一個字符讀,在文章最後寫,可是在打開文件時清空文檔 3 # a+ :從文章最後讀,正常追加
1 with open('text', 'r') as f: 2 num = 0 3 for i in f.readlines(): 4 num += 1 5 if num == 4: 6 i = ''.join([i.strip(), '***']) 7 print(i.strip())
1 with open('text', 'r') as f_read, open('text1', 'w') as f_write: 2 num = 0 # 計數,在符合行數時修改內容 3 for line in f_read: # 遍歷f_read中的每行 4 num += 1 # 沒遍歷一行,計數器加一 5 if num == 4: # 在第四次遍歷時,即在第四行時執行if塊語句 6 line = 'hello\n' # 當在第四行時將文件的內容改成hello 7 f_write.write(line) # 將處理後的全部字符串寫入f_write