f=open('ceshi.txt','a',encoding='utf-8')
r=open('ceshi.txt','r',encoding='utf-8')
上面的2種寫法可以用with來寫:
with open('ceshi.txt','a',encoding='utf-8') as f:
或with open('ceshi.txt','r',encoding='utf-8') as r:這兩個寫法不需要用f.close()和r.close()
#ceshi.txt里面已經分行展示了first second third
r.seek(0) #默認從最開始讀起
r.seek(1) #從最開始偏移1位開始讀,r.readline()打印出來的就是irst,而不是first
print(r.tell()) #告訴我們當前指針所在處
print(r.readline()) #r.readline()逐行讀取數據,每執行一次,就只打印出第一行數據first
print(r.readline()) #打印出第2行的數據second,如果第一行存在r,read(),則下面的這幾行代碼都讀不到數據
print(r.readlines()) #r.readlines()讀取所有行的數據,讀出來的是一個列表 如果上面2個打印都存在,則只打印出第3行數據
for line in r.readlines():
print(line) #循環讀出每行數據 如果上面3個打印都存在,則不會輸出,因為3行數據都被輸出了
r.close()
注意:如果r.read()和r.readline()和readlines()同時存在的時候,如果上面的已經讀出來了,下面的一個讀取數據是從剩下的數據里面讀的
r.truncate()從指針處開始把文件內容清空
1、文件的讀寫權限
2、指針的運用f.seek(0)、告訴我們當前指針的位置f.tell()