文件操作

 

python内置了读写文件相关的函数,用法和C语言兼容,在磁盘中读写文件的 操作是系统提供的。python读写文件的的操作

是请求系统打开一个文件,然后 再通过操作系统提供的接口在文件中读取或写入数据

1、读取文件

读取文件过程:

1、打开文件

2、读取文件内容

3、关闭文件

1、打开文件

2、读取文件

2.1、read([n])  :读取n个字符,以r的形式打开的文件,字母、数字、汉字各为一个字符,如省略n,默认读取所有的字符

2.2、readline([n]) : 若省略n,读取整行,包括\n,若未省略n,则读取n个字符

2.3、readlines([n]) :读取所有的行,返回一个列表,将每行的内容作为列表的一个元素。

                                  如果传入n,实际输出的字符可能会比n大,因为readlines以行未单位输出,读取数字时,会读取一整行

                                  举个例子,每行有10个字符,输入n大于0小于10,则会输出第一行,n大于10小于20,则会输出前两行

                                  ,以此类推

3、关闭文件

close()

注:1、当文件使用结束后必须将文件关闭,因为文件在打开的状态下会占据系统资源,系统在同一时间打开的文件个数有限

        2、已经关闭的文件并不能在进行操作

4、完整的读取文件操作

f1 = open(file="file.txt",mode="r",encoding="utf-8",errors="ignore")
print(f1.read())
f1.close()

2、写入文件

写入文件过程:

1、打开文件

2、读取文件内容

3、关闭文件

1、打开文件

打开文件的方式与读取文件时打开文件的方式类似,将mode改为写入文件所需要的指令

2、写入文件

write(str)   将str写入文件

3、关闭文件

close()

4、完整的写入文件操作

f1 = open(file="a.txt",mode="a",encoding="utf-8",errors="ignore")
f1.write("Hello World!!!!!!!")
f1.close()

3、使用with函数对文件进行操作

1、读取文件

with函数会自动调用close(),不用自己手动关闭文件

as 是将open返回的数据赋值给变量f1

with open(file="file.txt",mode="r",encoding="utf-8",errors="ignore") as f1:
    print(f1.read())

2、写入文件

with open(file="qq.txt",mode="a",encoding="utf-8",errors="ignore") as f2:
    f2.write("xxxxxxxxxx")

4、二进制文件

# 写入文件   wb  将写入的字符串进行编码encode()
with open(file="天气.txt",mode="wb") as f1:
    # 编码
    str1 = "北京有沙尘暴"
    f1.write(str1.encode("utf-8"))

# 读取文件   rb
with open(file="天气.txt",mode="rb") as f2:
    data = f2.read()
    print(type(data)) # bytes   字节类型
    # 解码
    print(data.decode("utf-8"))

上面的代码以二进制写入文件,可使用utf-8(或其他格式)格式进行编码写入

下面的代码以二进制形式读取文件,可使用utf-8(或其他对应格式)进行解码读取

5、存储数据

当我们要存入列表、元组等数据时,上面的写入方法并不能满足我们的要求,这时我们需导入pickle模块实现对数据的存储

pickle支持存储list、dict、str等类型的数据

pickle:实现了数据的序列化与反序列化操作 数据的序列化操作可以实现数据的存储 数据的反序列化操作可以实现数据的读取

1、将信息写入文件

语法格式:pickle.dump(obj,file)

                  obj:写入的数据

                  file:写入的文件

2、读取文件

语法格式:pickle.load(file) file为读取的文件

3、使用pickle的完整操作

import pickle   # 导入pickle模块
# 存入数据
list1 = [1, 2, 3, 4, 5, 6, 7, 8, 9]    # 即将存入的数据
f1 = open(file="file.data",mode="wb")    # 打开文件
pickle.dump(list1, f1)
f1.close()                             # 关闭文件



# 读取数据
f2 = open("file.data","rb")       # 打开文件
tmp = pickle.load(f2)             # 读取文件中的数据
print(tmp)
f2.close()                        # 关闭文件

建议:当存储的数据不想通过文件双击直接打开,可以将后缀名设置为系统不能直接打开的格式,如:.data , .abc

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值