前面介紹過Python中文件操做的通常方法,包括打開,寫入,關閉。本文中介紹下python中關於文件操做的其餘比較經常使用的一些方法。python
首先建立一個文件poems:spa
p=open('poems','r',encoding='utf-8')
for i in p:
print(i) 或者是
with open('poems','r+',encoding='utf-8') as f:
for i in p:
print(i)
結果以下:
hello,everyone
白日依山盡,
黃河入海流。
欲窮千里目,
更上一層樓。
p=open('poems','r',encoding='utf-8')
print(p.readline())
print(p.readline())
結果以下:
hello,everyone
白日依山盡,
#這裏的兩個換行符,一個是everyone後邊的\n,
一個是print自帶的換行
2.readlines #讀取多行內容
p=open('poems','r',encoding='utf-8')
print(p.readlines()) #打印所有內容
結果以下:
['hello,everyone\n', '白日依山盡,\n', '黃河入海流。\n', '欲窮千里目,\n', '更上一層樓。']
p=open('poems','r',encoding='utf-8')
for i in p.readlines()[0:3]:
print(i.strip()) #循環打印前三行內容,去除換行和空格
結果以下:
hello,world
白日依山盡,
黃河入海流。
3.tell #顯示當前光標位置
p=open('poems','r',encoding='utf-8')
print(p.tell())
print(p.read(6))
print(p.tell())
結果以下:
0
hello,
6
4.seek #能夠自定義光標位置
p=open('poems','r',encoding='utf-8')
print(p.tell())
print(p.read(6))
print(p.tell())
print(p.read(6))
p.seek(0)
print(p.read(6))
結果以下:
0
hello,
6
everyo
hello,
5.flush
#提早把文件從內存緩衝區強制刷新到硬盤中,同時清空緩衝區。
p=open('poems1','w',encoding='utf-8')
p.write('hello.world')
p.flush()
p.close()
#在close以前提早把文件寫入硬盤,通常狀況下,文件關閉後
會自動刷新到硬盤中,但有時你須要在關閉前刷新到硬盤中,這時就能夠使用 flush() 方法。
6.truncate #保留
p=open('poems','a',encoding='utf-8')
p.truncate(5)
p.write('tom')
結果以下:
hellotom
#保留文件poems的前五個字符,後邊內容清空,再加上tom