6.2Python文件的操作(二)
阿新 • • 發佈:2019-02-08
imageview 技術分享 文章 nco 資源 -o lose write 編碼
目錄
- 目錄
- 前言
- (一)文件的定位
- (二)文件的讀操作
- ==1.read()方法==
- ==2.readline()方法==
- ==3.readlines()方法==
- ==4.文件的遍歷讀法==
- (三)文件的寫操作
- ==1.write()方法==
- ==2.writelines()方法==
- (四)文件的關閉
目錄
前言
該篇是相繼上一篇6.1Python文件操作(一)之後的進階文章。
(一)文件的定位
(1)說明
f.tell() 返回當前文件指針所在的位置。
f.seek(偏移量, 參考點) 根據參考點來偏移 偏移量個單位。
參考的:可以是0, 1, 2
0: 開頭處, 參考點是正的
1:中間位置,參考點可正可負
2:結尾處:參考點是負的
註:文本文件的參考點只能是0,二進制文件三者皆可。
(2)源代碼
# 打開 f = open("a.txt", "rb") # 指針的位置 r1 = f.tell() print("前指針的位置:", r1) # 偏移指針,參考點: 文本文件只能是0,二進制文件可以是:1, 2 f.seek(-2, 2) r1 = f.tell() print("後指針的位置:", r1) # 讀 content = f.read() print("內容是:", content) r1 = f.tell() print("讀完指針的位置:", r1) # 關閉 f.close()
(3)輸出效果
a.txt的內容是:12345678
(二)文件的讀操作
==1.read()方法==
(1)說明
f.readable()用於判斷該文件是否可讀
f.read(字節數) ,默認情況下字節 數是文件的長度。
(2)源代碼
# 打開文件 f = open("b.txt", "r") # 判斷是否可讀 print(f.readable()) if f.readable(): # 操作, n 要讀的文件長度 content = f.read(5) print(content) # 關閉文件 f.close()
(3)輸出效果
b.txt 的內容是:123456789
==2.readline()方法==
(1)說明
readline()方法是逐行的讀寫,每一次只讀一行。
(2)源代碼
# 打開文件
f = open("c.txt", "r")
# 操作, n 要讀的文件長度
content = f.readline()
print(content, end='')
content = f.readline()
print(content, end='')
content = f.readline()
print(content, end='')
# 關閉文件
f.close()
(3)輸出效果
c.txt的內容是:
12
34abcdefgh
56
78
==3.readlines()方法==
(1)說明
readlines()方法是以行為單位來讀,返回每一行為一個元素的列表 。
(2)源代碼
# 打開文件
f = open("c.txt", "r")
# 操作, n 要讀的文件長度
content = f.readlines()
print(content)
# 關閉文件
f.close()
(3)輸出效果
c.txt的內容是:
12
34abcdefgh
56
78
==4.文件的遍歷讀法==
(1)說明
打開的文件 f 本身就是一個叠代器,可以用for循環來遍歷輸出。與resdlines()類似,用行為單位來處理。
(2)源代碼
# 打開文件
f = open("c.txt", "r")
# f是一個叠代器與readlines()效果一樣
for i in f:
print(i, end='')
# 關閉文件
f.close()
(3)輸出效果
c.txt的內容是:
12
34abcdefgh
56
78
(三)文件的寫操作
==1.write()方法==
(1)說明
f.writable()用於判斷該文件是否可選。
f.write()方法返回的是本次寫入的字節數。
encoding="utf-8" 參數是指明寫入的編碼格式。
(2)源代碼
# 打開文件
f = open("d.txt", "a", encoding="utf-8")
# 判斷是否可寫
if f.writable():
# 寫入文件
result = f.write("123456")
print("寫入的字節數是:", result)
# 關閉文件
f.close()
(3)輸出效果
==2.writelines()方法==
(1)說明
f. writelines()方法是以列表的每一個元素,寫入到文件的每一行,列表的元素必須是字符串類型。
註:每一個列表的元素後面需要添加 "\n" 才換行,默認是不換行。
(2)源代碼
# 打開文件
f = open("e.txt", "w", encoding="utf-8")
# 寫入文件
f_list = ["14\n", "28\n", "abc\n", "哈哈"]
f.writelines(f_list)
# 關閉文件
f.close()
(3)輸出效果
(四)文件的關閉
(1)說明
f.close()是關閉文件,內部是把緩存區的數據,寫到內存,才實現真正的保存操作。
同時也釋放系統資源。
f.flush() 是立即把緩存區的數據寫入到內存裏區,實現及時的保存。
(2)源代碼
# 打開文件
f = open("f.txt", "w")
# 操作文件
f.write("123456")
# 及時保存數據
f.flush()
# 關閉文件
f.close()
(3)輸出效果
作者:Mark
日期:2019/02/08 周五
6.2Python文件的操作(二)