[再学Python] - 7 - 文件

本文介绍Python相关知识,包括编码和文件操作。编码部分提及ASCII码、Unicode和UTF - 8编码;文件操作部分涵盖打开文件、文件读取(如read、readline、readlines函数)、文件写入(如write、writelines函数),还给出遍历文件的通用和简化代码框架及示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文件是有序的数据序列。

编码(了解即可)

ASCII码

七个二进制位编码,表示128个字符。

ASCII码和字符的转换
ord('A'):字符 -> ASCII码
chr('65'):ASCII码 -> 字符

Unicode

跨语言、跨平台
统一且唯一的二进制编码
每个字符两个字节长
65536个字符的编码空间

UTF-8编码

可变长度的Unicode
在这里插入图片描述

文件操作

打开文件

open()函数,语法格式如下

<variable> = open(<name>, <mode>)

<variable>其实是一个指针
<name>为文件名
<mode>为打开模式
在这里插入图片描述
举例:
1.打开一个名为“numbers.dat”的文本文件(ASCII文件)

>>>infile = open("numbers.dat", "r")

2.打开一个名为“music.mp3”的音频文件(为二进制文件)

>>>infile = open("music.mp3", "rb")

文件操作

文件读取

文件读取的函数:

  • read()返回值为包含整个文件内容一个字符串string
  • readline()返回值为文件下一行内容字符串string
  • readlines():返回值整个文件内容列表list,每项是以换行符为结尾一行字符串string

在这里插入图片描述
print(line[:-1])为去掉读取文件中多加的换行符。

文件写入

文件读取的函数:

  • write():把含有文本数据或二进制数据块的字符串写入到文件中。
  • writelines():针对列表操作,接受一个字符串列表作为参数,将他们写入文件,且行结束符不会被自动加入
    在这里插入图片描述

遍历文件模板

通用代码框架
file = open("filename", "r")
for line in file.readlines():
	# 处理一行文件内容
file.close
简化代码框架(常用)
file = open("filename", "r")
for line in file:
	# 处理一行文件内容
file.close()

示例1:拷贝文件
在这里插入图片描述
示例2:读取文件
待读取文件以“,”分隔,具体如下图:
在这里插入图片描述
读取文件的代码如下

result=[]
file = open("data.txt", "r")
for line in file:
    result.append(list(map(float,line.split(','))))
print(result)

首先我们将result定义为一个空list
在读取的过程中,先通过line.split(',')对每一行通过","分割。
然后用map(float,line.split(','))将分割后的元素转为float类型。
之后通过list(map(float,line.split(',')))将其转为list
再通过.append()附加到result上。

示例3:多文件操作
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值