当前位置: 首页 > backend >正文

2025-05-28 学习记录--Python-文件

合抱之木,生于毫末;九层之台,起于累土;千里之行,始于足下。💪🏻

一、文件 ⭐️

(一)文件的基本概念 🍭

文件是以计算机硬盘为载体存储在计算机上的信息集合,文件可以是文本文档、图片、程序等等。计算机文件基本上分为二种:二进制文件(没有统一的字符编码)和纯文本文件(有统一的编码,可以被看做存储在磁盘上的长字符串)。

  • 纯文本文件编码格式常见的有ASCII、ISO-8859-1、GB2312、GBK、UTF-8、UTF-16等。
  • 二进制文件与文本文件的一个最主要的区别在于是否有统一的字符编码格式,二进制文件顾名思义是直接由0与1组成,无统一的字符编码。如图片文件(jpg、png),视频文件(avi)等。

在这里插入图片描述

(二)文件的读取 🍭

举例: 🌰

在这里插入图片描述

在这里插入图片描述

# 打开文件
f = open('test.txt') # 相对路径
# 读取文件
context = f.read()
print(context)
# 关闭文件
f.close()

输出结果: 👇🏻

你好
我在学习python
文件

(三)文件的写入 🍭

writeFile.py

# 打开文件
f = open('test.txt',mode='w') # 若已有文件test.txt,则覆盖原内容;若没有文件test.txt,则新建同级文件test.txt
# 写入文件内容
f.write('你好,我是mia\n很高兴认识你')
# 关闭文件
f.close()

运行后,test.txt文件的内容如下: 👇🏻

你好,我是mia
很高兴认识你

(四)文件的追加 🍭

addFile.py

# 打开文件 mode='a'表示追加
f = open('test3.txt',mode='a') # 若已有文件test3.txt,则获取到该文件;若没有,则新建同级文件test3.txt
# 写入文件
f.write('hello')
# 关闭文件
f.close()

运行一次,test3.txt文件里的内容追加一次hello,如下: 👇🏻

hellohello # 假如运行addFile.py两次

(五)with语句 🍭

test.txt

你好,我是mia
很高兴认识你

with.py

with open('test.txt',mode='r',encoding='utf-8') as f: # 这句等同于 f = open('test.txt',mode='r',encoding='utf-8')context = f.read()print(context)
print('hello')

输出结果: 👇🏻

你好,我是mia
很高兴认识你
hello

(六)csv文件 🍭

1、csv文件的读取

data.csv

姓名,科目,成绩
mia,python,100
mia,java,80
jack,python,88

readCsv.py

# 导入csv模块,用于处理CSV文件
import csv# 打开名为'data.csv'的文件,模式为读取('r'),编码为utf-8
with open('data.csv', mode='r', encoding='utf-8') as f:# 创建CSV读取器对象,用于逐行读取CSV文件cf = csv.reader(f)# 读取CSV文件的表头(第一行),存储在head变量中head = next(cf)# 初始化一个空列表,用于存储分数scores = []# 遍历CSV文件的每一行数据for i in cf:# 将每行的第3列(索引为2)转换为整数,并添加到scores列表中scores.append(int(i[2]))# 计算分数的平均值:总和除以数量average = sum(scores) / len(scores)# 打印计算出的平均值print(average) 
89.33333333333333
2、csv文件的写入

起始data.csv

姓名,科目,成绩
mia,python,100
mia,java,80
jack,python,88

writeCsv.py

# 导入csv模块,用于处理CSV文件
import csv# 打开名为'data.csv'的文件,模式为追加('a'),编码为utf-8
# 'a'模式表示:如果文件存在,则在文件末尾追加数据;如果文件不存在,则创建新文件
with open('data.csv', mode='a', encoding='utf-8') as f:# 创建CSV写入器对象,用于写入数据到CSV文件cf = csv.writer(f)# 向CSV文件中写入单行数据:['tom', 'c', '50']# 列表中的每个元素对应CSV文件中的一列cf.writerow(['tom', 'c', '50'])# 定义一个包含多行数据的列表,每行数据是一个子列表lista = [['lily', 'c', '70'], ['jack', 'c', '77'], ['lily', 'java', '90']]# 向CSV文件中一次性写入多行数据(lista中的所有行)# writerows()方法接受一个嵌套列表,每个子列表代表一行数据cf.writerows(lista) 

运行writeCsv.py后的data.csv

姓名,科目,成绩
mia,python,100
mia,java,80
jack,python,88
tom,c,50
lily,c,70
jack,c,77
lily,java,90

在这里插入图片描述

http://www.xdnf.cn/news/9540.html

相关文章:

  • 对象检测新纪元:D-FINE 模型超越 YOLO,带来更精准的实时检测!
  • 6.2 Q1|哈尔滨医科大学GBD发文 | 1990 年至 2019 年颗粒物污染导致的中风全球趋势和负担
  • Python后端开发实战:从0到1搭建高可用API服务
  • 医疗器械企业批记录数字化转型实操指南
  • LeetCode hot100-6
  • C# 基于 Windows 系统与 Visual Studio 2017 的 Messenger 消息传递机制详解:发布-订阅模式实现
  • Python 包管理工具 uv的一些常用指令
  • AWS 创建VPC 并且添加权限控制
  • CloudCompare——点云统计滤波
  • element ui 表格 勾选复选框后点击分页不保存之前的数据问题
  • Service Worker介绍及应用(实现Web Push机制)
  • 【AI学习笔记】Coze平台实现生成小红书热门多图笔记
  • Metasploit工具使用详解(上)丨小白WEB安全入门笔记
  • 电子电路:什么是C类放大器?
  • ⚡️ Linux 系统安装与配置 Git
  • Windows SMB压缩在低速或者高延迟环境可以帮助提供性能增益
  • Linux驱动学习笔记(十)
  • vue-04(深入了解 props:验证、类型和默认值)
  • Django实现文件上传
  • Docker-compose 编排lnmp(dockerfile) 完成Wordpress
  • [ERR] switch_core_session.c:2697 Invalid Application callcenter
  • 基于 HTTP 的邮件认证深入解读 ngx_mail_auth_http_module
  • bug: uniCloud 查询数组字段失败
  • # 使用 Selenium 爬取苏宁易购优质评价
  • 针对C语言的开发工具推荐及分析(涵盖编辑器、集成开发环境(IDE)、编译器、调试工具及辅助工具)
  • 【Python3教程】Python3基础篇之OS文件目录方法
  • Mac OS 使用说明
  • PySpark 中使用 SQL 语句和表进行计算
  • OpenCV CUDA模块直方图计算------生成一组均匀分布的灰度级函数evenLevels()
  • 【NLP】将 LangChain 与模型上下文协议 (MCP) 结合使用