上一篇: 類屬性案例講解 | 手把手教你入門Python之六十九 下一篇: 檔案拷貝 | 手把手教你入門Python之七十一 本文來自于千鋒教育在阿裡雲開發者社群學習中心上線課程 《Python入門2020最新大課》 ,主講人姜偉。
檔案的讀寫
<1>寫資料(write)
使⽤
write()
可以完成向⽂件寫⼊資料
demo:建立⼀個⽂件
file_write_test.py
,向其中寫⼊如下代碼:
f = open('test.txt', 'w')
f.write('hello world, i am here!\n' * 5)
f.close()
運⾏之後會在
file_write_test.py
⽂件所在的路徑中建立⼀個⽂件
test.txt
,并寫⼊内容,運⾏效果顯示如下:

注意:
如果⽂件不存在,那麼建立;如果存在那麼就先清空,然後寫⼊資料
<2>讀資料(read)
使⽤read(num)可以從⽂件中讀取資料,num表示要從⽂件中讀取的資料的⻓度(機關是位元組),如果沒有傳⼊num,那麼就表示讀取⽂件中所有的資料
file_read_test.py
,向其中寫⼊如下代碼:
f = open('test.txt', 'r')
content = f.read(5) # 最多讀取5個資料
print(content)
print("-"*30) # 分割線,⽤來測試
content = f.read() # 從上次讀取的位置繼續讀取剩下的所有的資料
print(content)
f.close() # 關閉⽂件
運⾏現象:
hello
------------------------------
world, i am here!
如果⽤open打開⽂件時,如果使⽤的"r",那麼可以省略
open('test.txt')
<3>讀資料(readlines)
readline可以按照⾏的⽅式把整個⽂件中的内容進⾏⼀次性讀取,并且傳回的是⼀個清單,其中每⼀⾏為清單的⼀個元素。
f = open('test.txt', 'r')
content = f.readlines()
print(type(content))
for temp in content:
print(temp)
f.close()
readline()
讀取一行資料
指針定位
tell()
⽅法⽤來顯示目前指針的位置
f = open('test.txt')
print(f.read(10)) # read 指定讀取的位元組數
print(f.tell()) # tell()⽅法顯示目前⽂件指針所在的⽂字
f.close()
seek(offset,whence)
⽅法⽤來重新設定指針的位置。
- offset:表示偏移量
- whence:隻能傳⼊012中的⼀個數字。
- 0表示從⽂件頭開始
- 1表示從目前位置開始
- 2 表示從⽂件的末尾開始
f = open('test.txt','rb') # 需要指定打開模式為rb,隻讀⼆進制模式
print(f.read(3))
print(f.tell())
f.seek(2,0) # 從⽂件的開頭開始,跳過兩個位元組
print(f.read())
f.seek(1,1) # 從目前位置開始,跳過⼀個位元組
print(f.read())
f.seek(-4,2) # 從⽂件末尾開始,往前跳過四個位元組
print(f.read())
f.close()