持久化 檔案

2021-09-30 17:07:31 字數 2912 閱讀 9054

一、 檔案

長久儲存資訊的一種資料資訊集合

# 開啟檔案,用寫的方式

# r表示後面字串內容不需要轉義

# f稱之為檔案控制代碼

f = open(r"test01.txt", 'w')

# 檔案開啟後必須關閉

f.close()

1. with語句開啟檔案

用with語句開啟檔案,不需要關閉

with open(r'test01.txt', 'r') as f:

# 按行讀取內容

strline = f.readline()

# 此結構保證能夠完整讀取檔案直到結束

while strline:

print(strline)

strline = f.readline()

with open(r"test01.txt", "r") as f:

l = list(f)

print(l)

# 每行後面都有換行符,而遍歷列印也會列印乙個換行符

for line in l:

print(line)

結果如下

['第一行\n', '第二行\n', '第三行\n', 'hello!']

第一行第二行

第三行hello!

read是按字元讀取檔案內容

允許輸入引數決定讀取幾個字元,如果沒有制定,從當前位置讀取到結尾

否則,從當前位置讀取指定個數字元

with open(r"test01.txt", "r") as f:

strchar = f.read(1)

while strchar:

print(strchar, end = "")

strchar = f.read(1)

結果如下

第一行

第二行第三行

hello!

2. seek(offset, from)

設定游標所在位置。

with open(r"test01.txt", "r") as f:

seek(6, 0)

strchar = f.read()

print(strchar)

輸出結果為

第二行第三行

hello!

import time

with open(r"test01.txt", "r") as f:

strchar = f. read(3)

while strchar:

print(strchar)

strchar = f.read(3)

time.sleep(1)

輸出結果為:

第一行第二行

第三行hello!

tell()

指出游標所在的位置。

with open(r"test01.txt", "r") as f:

strchar = f.read(3)

pos = f.tell()

while strchar:

print(pos)

print(strchar)

strchar = f.read(3)

pos = f.tell()

輸出結果為:

9

第一行16

第二23行第

30三行

33hel

36lo!

三、write()

with open(r"test01.txt", "a") as f:

f.write("\n生活不僅有眼前的苟且,\n還有遠方的枸杞")

with open(r"test01.txt", "a") as f:

f.writelines(["\n生活不僅有眼前的苟且","\n還有遠方的枸杞"])

四、持久化-pickle()

import pickle

age = 19

with open(r"test01.txt", "wb") as f:

pickle.dump(age, f)

import pickle

with open(r"test01.txt", "rb"):

age = pickle.load(f)

print(age)

五、持久化-shelve

import shelve

shv = shelve.open(r"shv.db")

shv['one'] = 1

shv['two'] = 2

shv['three'] = 3

shv.close()

import shelve

shv = shelve.open(r"shv.db")

try:

print(shv['one'])

print(shv['two'])

print(shv['three'])

except exception as e:

print("哈哈")

finally:

shv.close()

持久化檔案操作

python對於檔案都採用預設的操作步驟 開啟 操作 關閉,對檔案進行操作之後一定要關閉它,關閉檔案將對檔案釋放控制權使檔案恢復儲存狀態,此時另乙個程序可以操作這個檔案。檔案的常見開啟方式 方式意義 r唯讀開啟 w只寫開啟 如果檔案不存在,則會建立改檔案 檔案存在,則會清空該檔案的內容 rba 用於...

十八 檔案持久化 CSV GOB

encoding csv 包提供對 csv 檔案讀寫的操作 a 常用結構體 reader 常用函式 newreader 常用方法 read readall writer 常用函式 newwriter 常用方法 write writeall flush 1 csvreader package main...

檔案資料持久化

概論 所謂的持久化,就是將資料儲存到硬碟中,使得在應用程式或機器重啟後可以繼續訪問之前儲存的資料。在ios開發中,有很多資料持久化的方案,接下來我將嘗試著介紹一下5種方案 ios程式預設情況下只能訪問程式自己的目錄,這個目錄被稱為 沙盒 沙盒的目錄結構如下 應用程式包 nsstring path n...