一文搞懂Python文件操作

目录

1.文件的概念:

1.1 文件的概念及作用

1.2 文件的存储方式

 文本文件和二进制文件

2.文件的基本操作 

2.1 操作文件的套路

2.2 操作文件的函数/方法

2.3 read方法——读取文件

2.4 打开文件的方式

 写入文件代码示例:

2.5按行读取文件内容

readline方法

读取大文件的正确方法

2.6 文件读写案例——复制文件


1.文件的概念:


1.1 文件的概念及作用

  • 计算机的文件,就是存储在某种长期储存设备上的一段数据
  • 长期存储设备包括:硬盘、U盘、光盘。。。

文件作用:将数据长期保存下来,在需要的时候使用

1.2 文件的存储方式

  • 计算机中文件是以二进制方式保存在磁盘上的

 文本文件和二进制文件

文本文件(文件通过字符编码(字符集)转换了二进制)

  • 可以使用文本编辑软件查看
  • 本质上还是二进制文件
  • 例如:python的源程序

二进制文件

  • 保存内容不是给人阅读的,而是提供给其他软件使用的
  • 例如:图片、音频、视频
  • 二进制文件不能用文本编辑软件查看

2.文件的基本操作 


2.1 操作文件的套路

计算机中操作文件套路非常固定,一共三个步骤

1、打开文件

2、读写文件

  • 将文件内容读入内存
  • 将内存内容写入文件

3、关闭文件 

2.2 操作文件的函数/方法

  • python中操作文件需要记住1个函数和三个方法
序号函数/方法说明
01open打开文件,并且返回文件操作对象
02read将文件内容读取到内存
03write将指定内容写入文件
04close关闭文件
  •  open函数负责打开文件,并且返回文件对象
  • read/write/close三个方法都需要通过文件对象来调用

2.3 read方法——读取文件

  • open函数第一个参数是要打开的文件名(文件名区分大小写)
  • 如果文件存在,返回文件存在对象
  • 如果文件不存在,抛出异常
  • read方法可以一次性读入并返回文件所有内容
  • close方法负责关闭文件

如果忘记关闭文件,会造成系统资源消耗,影响后续对文件的访问

  • 注意:read方法执行后,会将文件指针移动到文件的末尾 
#1.打开 - 文件名需要注意大小写
file = open("README")

#2.读取
text = file.read()
print(text)

#3.关闭
file.close()

提示:在开发中,通常先编写打开和关闭的代码,再编写中间对文件的读写操作! 

 2.4 打开文件的方式

  • open函数默认以只读方式打开文件,并且返回文件对象

语法如下:

f = open("文件名","访问方式")

访问方式说明
r以只读方式打开文件。文件指针放在开头,默认模式。如果文件不存在,抛出异常
w以只写方式打开文件。如果文件存在会被覆盖。如果文件不存在,创建新文件
a以追加方式打开文件。如果该文件已存在,文件指针将会放在文件结尾。如果文件步骤,创建新文件进行写入
r+以读写方式打开文件。文件指针将会放在文件的开头。如果文件不存在,抛出异常
w+以读写方式打开文件。如果文件存在会被覆盖。如果文件不存在,创建新文件
a+以读写方式打开文件。如果文件已存在,文件指针放在文件结尾。如果文件不存在,创建新文件进行写入

提示:频繁移动文件指针,会影响读写效率。开发中更多以只读、只写的方式来操作文件 

 写入文件代码示例:

#打开文件

file = open("README","w")

file.write("Hello World\n")
file.write("今天天气很好!")

#关闭文件
f.close()

2.5按行读取文件内容

  • read方法默认会把文件所有内容一次性读取到内存
  • 如果文件太大,对内存占用会非常严重 

readline方法

  • readline方法可以一次读取一行内容
  • 方法执行后,会把文件指针移动到下一行,准备再次读取

读取大文件的正确方法

#打开文件
file = open("README")

while True:
    # 读取一行内容
    text = file.readline()
    # 判断是否读到内容
    if not text:
        break
    
    # 每读取到一行末尾已经有一个”\n“
    print(text,end="")


#关闭文件
file.close()

2.6 文件读写案例——复制文件

 目标:用代码的方式,来实现文件复制过程

  • 小文件复制:打开一个已有文件,读取完整内容,并写入到另外一个文件
#打开文件
file_read = open("README")
file_write = open("README[复件]","w")

#读取并写入内容
text = file_read.read()
file_write.write(text)

#关闭文件
file_read.close()
file_write.close()
  • 大文件复制:打开一个已有文件,逐行读取内容,并顺序写入到另外一个文件
# 打开文件
file_read = open("README")
file_write = open("README[复件]","w")

# 读取并写入文件
while True:
    # 每次读取一行
    text = file_read.readline()
    if not text:
        break
    file_write.write(text)
    
#关闭文件
file_read.close()
file_write.close()

  • 18
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python面向对象编程(Object-Oriented Programming,简称OOP)是一种编程范式,它将数据和操作封装在对象中,通过对象之间的交互实现程序的设计和开发。下面是一些关键概念,帮助你更好地理解Python面向对象编程。 1. 类(Class):类是对象的蓝图或模板,描述了对象的属性和行为。它定义了对象的特征和方法。例如,我们可以定义一个名为"Car"的类来表示汽车,其中包含属性(如颜色、型号)和方法(如加速、刹车)。 2. 对象(Object):对象是类的实例,是具体的实体。通过实例化类,我们可以创建一个对象。例如,我们可以创建一个名为"my_car"的对象,它是基于"Car"类的实例。 3. 属性(Attribute):属性是对象的特征,用于描述对象的状态。每个对象都可以具有一组属性。例如,"Car"类的属性可以包括颜色、型号等。 4. 方法(Method):方法是对象的行为,用于定义对象的操作。每个对象都可以具有一组方法。例如,"Car"类的方法可以包括加速、刹车等。 5. 继承(Inheritance):继承是一种机制,允许我们创建一个新类(称为子类),从现有类(称为父类)继承属性和方法。子类可以扩展或修改父类的功能。继承可以实现代码重用和层次化设计。 6. 多态(Polymorphism):多态是一种特性,允许不同类的对象对同一方法做出不同的响应。多态提高了代码的灵活性和可扩展性。 7. 封装(Encapsulation):封装是一种将数据和操作封装在对象中的机制,隐藏了对象的内部实现细节,只暴露必要的接口给外部使用。这样可以保护数据的安全性,提供了更好的模块化和代码复用性。 通过理解这些概念,你可以更好地掌握Python面向对象编程。在实践中,你可以使用类来创建对象,操作对象的属性和调用对象的方法,通过继承和多态实现代码的灵活性和可扩展性,通过封装保护数据的安全性和提高代码的可维护性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值