文件操作(IO技术,重要!!!)

1、文本文件和二进制文件

按文件中数据组织形式,我们把文件分为文本文件和二进制文件两大类,
1. 文本文件
文本文件存储的是普通“字符”文本,默认为unicode字符集(两个字节表示一个字符,65535),可以使用记事本程序打开。但是,像word文件件编辑的文档不是文本文件,无法使用记事本打开
2. 二进制文件(大多数都是二进制文件
二进制文件把数据内容用“字节”进行存储,无法用记事本打开。必须使用专用的软件解码。常见的有:MP4视频文作、MP3音频文件、JPG图片doC文档等等。

2、文件操作相关模块概述

 

3、打开(创建)文件对象:open()

在 Python 中,可以使用内置的 open() 函数来打开文件。open()`函数接受文件路径和打开模式作为参数,并返回一个文件对象,可以用于读取或写入文件内容。
基本语法格式如下:open(文件名[,打开方式])

如果只是文件名,代表在当前目录下的文件,文件名可以录入全路径,比如:D:\a\b.txt,为了减少“\”的输入,可以使用原始字符串:r"d:\b.txt","w".
示例:f = open(r"d:\b.txt","W")
打开方式如下:

模式描述例如
r只读read模式

open('file.txt', 'r')

read([size]):从文件中读取size个字符,并作为结果返回。如果没有size参数,则读取整个文件,在文件末尾返回空字符串。
readline():读取一行内容作为结果返回,在文件末尾返回空字符串。
readlines():每一行作为一个字符串存入列表中,返回该列表。

w写模式write;文件不存在则创建,文件存在则清空内容open('file.txt', 'w')
a追加模式append;如果文件存在则在文件末尾添加内容,
文件不存在则创建
open('file.txt', 'a')
b二进制binary模式(可与其他模式组合使用)
-读+写;以读写方式打开文件open('file.txt', 'r+')
还可以指定文件的编码格式、处理换行符等参数。
例如,以 UTF-8 编码方式打开文件
open('file.txt', 'r', encoding='utf-8')

关闭文件对象(重要!,一定要有):
在使用完文件后,记得调用文件对象的 close()方法关闭文件,或者使用 with 语句来自动管理文件的打开和关闭:

 示例:

# 打开文件
file_path = 'example.txt'  
# 文件路径,我在测试时随意选取了桌面上的某个文件,使用的绝对路径

with open(file_path, 'r') as file:
    # 读取文件内容
    content = file.read()
    print(content)

在这个示例中,`open()`函数以只读模式('r')打开名为`example.txt`的文件,并使用`with`语句来确保文件在使用完毕后被正确关闭。

例如,逐行读取文件内容,可以使用`readline()`方法或者遍历文件对象来一行一行地读取:

with open(file_path, 'r') as file:
    for line in file:
        print(line.strip())  # 使用strip()方法去除行尾的换行符

示例:读取一个文件的前4个字符(空格等都算一个字符)

with open(r"xxx","r",encoding="utf-8") as f:
# xxx = 文件路径
    print(f.read(4))
    # 读取前4个字符

示例,使用迭代器(每次返回一行)读取文本文件
 

with open(r"XXX","r",encoding="utf-8") as f:
    for a in f:
        print(a,end=" ")
    # 迭代器

在这段代码中,`for a in f:` 这一行实际上是在遍历文件对象 `f`,Python 中的文件对象是可迭代的。在文件对象上进行迭代时,每次迭代会返回文件的一行内容(包括换行符)作为字符串。因此,在这段代码中,变量 `a` 将依次表示文件中的每一行内容(包括换行符),并且通过 `print(a, end=" ")` 打印出来。

  • 16
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Wmpreturn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值