python二十一 檔案操作

2021-08-21 19:46:28 字數 2293 閱讀 9669

檔案處理流程

1.開啟檔案,得到檔案控制代碼並賦值給乙個變數

2.通過控制代碼對檔案進行操作

3. 關閉檔案

# r:檔案讀模式

f = open("undo", 'r', encoding="utf-8");

# 讀取檔案資料

data = f.read()

print(data)

# 關閉檔案控制代碼

f.close()

# 判斷檔案是否可讀

f.readable()

# 讀取檔案的一行

f.readline()

# 把檔案中的內容放到列表中(每一行是乙個元素)

f.readlines()

# 如果undo檔案存在,會清空undo檔案,然後再寫

# 如果undo檔案不存在,則會新建undo檔案,再寫

# 檔案寫模式

f = open("undow",'w', encoding="utf-8");

判斷檔案是否可寫

f.writable()

# 將字串寫入檔案

f.write("天下大事分久必合,合久必分\n")

f.write("東漢末年,黃巾起義\n")

# 將列表中的每個元素寫入檔案

f.writelines(['一壺濁酒喜相逢\n','初來還是座上客\n'])

# 關閉檔案控制代碼

f.close()

# 追加的模式寫入檔案

f = open("undow",'a', encoding="utf-8");

f.write("古今多少事,\n");

f.write("都付笑談中\n");

f.close()

# 使用 with..as 關鍵字,開啟檔案,會自動關閉檔案控制代碼(f.close())

with open("undow", "r", encoding="utf-8") as f:

data = f.read()

print(data)

'b'表示以位元組方式操作

rb 或 r+b

wb 或 w+b

ab 或 a+b

以位元組方式開啟時,讀取到的內容是位元組型別,寫入時也需要提供位元組型別,不能指定編碼.

8個二進位制位(bits)是乙個位元組(byte) 1g = 1024m, 1m = 1024k, 1k = 1024bytes 1bytes = 8bits

with open("undow2", "rb") as f:

# 將讀取到的二進位制資料,解碼成字串,然後列印

print(f.read().decode())

with open("undow2", "wb") as f:

# 先將字串編碼成二進位制,然後把二進位制儲存到硬碟

f.write("tianxia\n天下".encode())

with open("undow2", "ab") as f:

# 先將字串編碼成二進位制,然後把二進位制儲存到硬碟

f.write("tianxia\n天下".encode())

# 檢視檔案是否是關閉狀態

f.closed

# 將記憶體中資料刷到硬碟

f.flush()

# 游標在檔案內的移動: read(6),代表讀取6個字元. 其他方法的游標移動都是以位元組為單位,如seek,tell,truncate方法

# 查詢游標的位置

v = f.tell()

# 移動游標到指定位置

f.seek(10)

# 擷取檔案, 擷取的檔案必須要用 r+, a+方式開啟

# 不要用w+方式,w+方式開啟,會直接覆蓋檔案,那麼再呼叫truncate(),則沒有意義了

f.truncate(4)

# 從檔案最後,定位游標

f = open("undow2", 'rb')

offset = -6

while true:

# seek方法第2個引數是2,表示從檔案最後,定位游標

f.seek(offset, 2)

data = f.readlines()

if len(data) > 1:

print("最後一行資料是:%s" % (data[-1].decode("utf-8")))

break

offset = offset * 2

C 基礎 二十一 檔案操作

檔案開啟方式 ios in 讀檔案開啟檔案 ios out 寫檔案開啟檔案 ios ate 初始位置 檔案尾 ios trunc 如果檔案存在,先刪除再建立 ios binary 二進位制方式1.以文字形式 寫檔案 include using namespace std include void t...

python基礎(二十一) 操作SQLite

python操作 使用內建模組sqlite3 游標cursor 引數化查詢 null 什麼都不存 integer 整型 real 親源型別 浮點型 text 包含文字 blob 二進位制大型物件,是乙個可以儲存大量資料的容器 增刪改查 select from 表名 insert into 表名 列1...

Python二十一 Python中的檔案

檔案的操作 開啟 操作 關閉 開啟檔案的引數 r readonly 預設引數 只能讀 不能寫 讀取檔案不存在 會報錯 w 寫檔案 write only 檔案存在時,會清空檔案的內容並寫入新的檔案內容 檔案不存在,會建立新的檔案並寫入內容 a 寫檔案 write only 寫 不會清空檔案內容 會在檔...