1. 程式人生 > >[ Python ] 文件的讀寫操作

[ Python ] 文件的讀寫操作

pri 使用 不能 分享圖片 Coding TP 讀寫操作 PE col

1. 文件讀寫操作

讀寫文件是最常見的 IO 操作, Python 內置了讀寫文件的函數。
在磁盤上讀寫文件的功能是由操作系統提供的,所以讀寫文件是請求操作系統打開一個文件對象(通常稱為文件描述符),然後,通過操作系統提供的接口從這個文件對象中讀取數據,或者把數據寫入這個文件對象。

文件打開方式

open(file, mode=‘r‘, buffering=None, encoding=None)

	open 函數在打開一個文件
	file: 打開文件的目錄路徑
	mode: 打開文件的方式,讀寫;
	buffering:  緩沖 buffering 大小
	encoding: 以什麽格式打開,常見:utf-8, GBK

技術分享圖片

不同模式打開文件的完全列表:
技術分享圖片

2. File 對象的屬性

一個文件被打開後, 你有一個file對象,你可以得到有關該文件的各種信息。
以下是和file對象相關的所有屬性的列表:

技術分享圖片

f = open(‘test.txt‘, ‘r‘, encoding=‘utf-8‘)
print(‘文件名:‘, f.name)
print(‘是否已關閉:‘, f.closed)
print(‘訪問模式:‘, f.mode)

# 執行結果:
# 文件名: test.txt
# 是否已關閉: False
# 訪問模式:r

3. 文件定位

(1)tell

獲取被打開文件當前光標位置

f = open(‘test.txt‘, ‘r‘, encoding=‘utf-8‘)
str1 = f.read(8)
print(str1)
print(‘光標當前位置:‘, f.tell())
f.close()

# 執行結果:
# abcdefgh
# 光標當前位置: 8

(2)seek(offset [, from])

改變當前光標的位置,offset 變量表示要移動的字節數
from 變量指定開始移動字節的參考位置
from=0 將文件的開頭作為移動字節的參考

from=1 使用當前的位置作為參考位置
from=2 該文件的末尾將作為參考位置

f = open(‘test.txt‘, ‘r‘, encoding=‘utf-8‘)
# read 方法讀取的是字符數,而不是字節數
str1 = f.read(8)
print(‘【讀取前8個字符:】‘,str1)
print(‘【當前光標的位置(單位字節):】‘, f.tell())
# 使用 seek 方法將光標一定到文件開始位置
f.seek(0, 0)

print(‘【當前光標的位置(單位字節):】‘, f.tell())
print(‘【讀取文件所有內容:】‘, f.read())

# 執行結果:
# 【讀取前8個字符:】 哪裏有彩虹告訴我
#【當前光標的位置(單位字節):】24
#【當前光標的位置(單位字節):】0
#【讀取文件所有內容:】哪裏有彩虹告訴我能不能把我的願望還給我

對文件內容操作的方法對應的操作單位:

技術分享圖片

根據各種模式,總結如下(+ 表示該模式能夠使用的具體操作):

技術分享圖片

參考文檔:

  http://www.runoob.com/python/python-files-io.html

[ Python ] 文件的讀寫操作