天天看點

檔案的讀寫 | 手把手教你入門Python之七十

上一篇: 類屬性案例講解 | 手把手教你入門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

,并寫⼊内容,運⾏效果顯示如下:

檔案的讀寫 | 手把手教你入門Python之七十

注意:

如果⽂件不存在,那麼建立;如果存在那麼就先清空,然後寫⼊資料

<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()           

配套視訊