持久化-文件

2019-07-28  本文已影响0人  Yuanshuo
The core values of Chinese socialism

文件

open函数

# 打开文件,用写的方式
# r表示后面字符串不需要转义
# f称之为文件句柄
f = open(r"text01.txt","w")
# 文件打开后,必须关闭
f.close()

# 此案例说明,以写方式打开文件,默认是如果没有,则创建

with语句

# with案例
with open(r"text01.txt","r") as f:
    pass
    # 下面语句块开始对文件f进行操作
    # 在本模块中不需要再使用close关闭文件
with open(r"text01.txt","r") as f:
    # 按行读取内容
    strline = f.readline()
    # 此结构保证能够完整读取文件直到结束
    while strline:
        print(strline)
        strline = f.readline()
假若他日相逢

我将何以贺你

以沉默

以眼泪
# list能用打开的文件作为参数,把文件内第一行内容作为第一个参数
with open(r"text01.txt","r") as f:
    # 以打开的文件f作为参数,创建列表
    l = list(f)
    for line in l:
        print(line)
        
假若他日相逢

我将何以贺你

以沉默

以眼泪
# read是按字符读取文件内容
# 允许输入参数决定读取几个字符,如果没有指定,从当前位置读取到结尾
# 
with open(r"text01.txt", "r") as f:
        strChar = f.read(1)
        while strChar:
            print(strChar)
            strChar = f.read(1)
假
若
他
日
相
逢


我
将
何
以
贺
你


以
沉
默


以
眼
泪

seek(offset, from)

# seek案例
# 打开文件后,从第五个字节处开始读取
with open(r"text01.txt","r") as f:
    f.seek(6, 0)
    strChar = f.read()
    print(strChar)
他日相逢
我将何以贺你
以沉默
以眼泪
# 关于读取文件练习
# 打开文件,三个字符一组读出内容,然后显示在屏幕上
# 每读一次,休息一秒钟
import time
with open(r"text01.txt", "r") as f:
    strChars = f.read(3)
    while strChars:
        print(strChars)
        time.sleep(1)
        strChars = f.read(3)
        
假若他
日相逢

我将
何以贺
你
以
沉默

以眼泪
# tell函数:用来显示文件读写指针的当前位置
with open(r"text01.txt", "r") as f:
    strChars = f.read(3)
    pos = f.tell()
    while strChars:
        print(pos)
        print(strChars)
        strChars = f.read(3)
        pos = f.tell()
# tell以字节为单位
9
假若他
18
日相逢
25

我将
34
何以贺
41
你
以
48
沉默

57
以眼泪

文件写操作-write

# write案例
with open(r"text01.txt", "a") as f:
    f.write("广阔天地\n大有作为")

持久化-pickle

# 序列化案例
import pickle
age = 19
with open(r"text01.txt", "wb") as f:
    pickle.dump(age, f)
# 反序列化案例
import pickle
with open(r"text01.txt", "rb") as f:
    age = pickle.load(f)
    print(age)    
19
上一篇 下一篇

猜你喜欢

热点阅读