零基础学Python11——文件读写操作

一.文件操作

1.文件操作介绍

在实际操作中,通常需要将数据写入到本地文件或者从本地文件中读取数据等操作,那么作为python爱好者的我们,必须要用python语言去对本地文件进行操作。比如:

 

2.本地文件操作步骤

(1)找到文件所在的位置

(2)打开文件

(3)操作文件

(4)关闭文件

二.open()函数

1.open()函数语法

open(file, mode='r',encoding=None)   -->  打开文件

  • file                       --> 文件路径
  • mode                   --> 操作文件模式
    • r                     --> 只读模式
    • w                    --> 写入
    • a                     --> 追加
  • encoding             --> 指定文件编码
    • utf-8               --> 当文件中文乱码时,则指定编码为utf-8解决。

2.只读模式  r

  • f.readable()          --> 判断是否可读,返回值为布尔
  • f.read(n)               --> 读取全部,在python3中n为字符
  • f.readline()           --> 逐行读取,包括\n
  • f.readlines()          --> 读取所有,返回值为列表,包括\n
  • f.tell()                   --> 文件指针所处文件位置

练习:新建Students.txt;通过f.readlines() 读取文件全部内容;去掉\n

换行符。

f = open("Students.txt",'r')

res = f.readlines()

for i in range(len(res)):
    res[i] = res[i].rstrip("\n")
print(res)

f.close()

注意:

  • r模式,当文件不存在时则报错
  • f.read()           --> 读取全部
  • f.readline()     -->逐行读取
  • f.readlines()    -->读取全部,且为列表
  • 读取不可逆

3.只写模式 w

  • f.writable()          -->  判断是否可写
  • f.write(str)           -->  写入内容,返回值为写入字符串的长度
  • f.writelines(seq)  --> 写入多行,但需要自己添加换行符

注意:

  • w模式,当文件不存在时创建文件
  • 再次写入为覆盖

练习:创建text02.txt文件,并且写入内容

f = open('test02.txt','w')
# f.write("Hello World")
f.write("Logic Education")  # 覆盖
f.close()

4.追加模式 a

注意

  • a模式,当文件不存在时创建文件
  • 再次写入为追加

5.python操作二进制 

rb模式:以字节(二进制)方式读取文件中的数据
wb模式: 以字节(二进制)方式往文件中写入数据
ab模式: 以字节(二进制)方式往文件末尾追加写入数据

b = b'hello world'

f = open('test5.txt','wb')

f.write(b) 

6.python操作json文件

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。

json格式:'{"key":"value"}'

练习

将{"age":18}写入data.json文件中

import json

data = {"age":18}     # python对象 字典

f = open('data.json','w')

json.dump(data, f)          # 将python对象转为json对象 写入f文件
f.close()

#以语句写入
j = json.dumps(data)         
f.write(j)
f.close()

练习

读取data.json文件中的数据

import json

f = open('data.json','r')

j_data = json.load(f)     # 将json对象转为python对象(字典) 

7.f.close()

要注意的是,当文件打开之后,必须通过f.close()语句来关闭文件,释放资源。

try:
    f = open('test2.txt','r')
    f.read()
finally:
    if f:
        f.close()

三.with open()

with open()  --> 上下文管理器
with关键字用于Python的上下文管理器机制。为了防止诸如open这一类文件打开方法在操作过程出现异常或错误,或者最后忘了执行close方法,文件非正常关闭等可能导致文件泄露、破坏的问题 。Python提供了with这个上下文管理器机制,保证文件会被正常关闭。在它的管理下,不需要再写close语句。其余操作都同open()一致。

with open('Students.txt','r') as f:
    print(f.readlines())

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值