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

苏州园区做网站东坑东莞网站建设

苏州园区做网站,东坑东莞网站建设,西乡做网站哪家便宜,长沙武广新城建设网站🍀 前言 博客地址: CSDN:https://blog.csdn.net/powerbiubiu 👋 简介 本系列文章主要分享文件操作,了解如何使用 Python 进行文件的读写操作,介绍常见文件格式的读取和写入方法,包括TXT、 CS…

🍀 前言

博客地址:

  • CSDN:https://blog.csdn.net/powerbiubiu

👋 简介

本系列文章主要分享文件操作,了解如何使用 Python 进行文件的读写操作,介绍常见文件格式的读取和写入方法,包括TXT、 CSV、JSON、XML 等,以及如何使用相应的 Python 库来处理这些文件格式,同时对数据进行持久化操作。本章节就从最常见的TXT文件开始。

📖 正文

1 open

文件准备

春眠不觉晓
处处闻啼鸟
迎来风雨声
花落知多少
1.1 读取文件内容
f = open('test.txt', 'r', encoding='utf-8')
res = f.read()
print(res)
f.close()#春眠不觉晓
#处处闻啼鸟
#迎来风雨声
#花落知多少

Tips:
读取文件的时候,这个文件必须存在,否则会抛异常

1.1 内容写入文件

在对文件写入内容的时候,若指定的文件不存在,则会自动创建

f = open('test1.txt', 'w', encoding='utf-8')
s = '春眠不觉晓\n处处闻啼鸟\n迎来风雨声\n花落知多少\n'
f.write(s)
f.close()

但是存在一个问题,如果在执行一次以上代码,文件中的内容被覆盖了,没有实现追加,如果需要实现对文件内容的追加,需要指定参数mode的值为a才能实现追加功能

f = open('test1.txt', mode='a', encoding='utf-8')
s = '春眠不觉晓\n处处闻啼鸟\n迎来风雨声\n花落知多少\n'
f.write(s)
f.close()
1.3 模式详解
mode含义
r只读的方式打开文件,文件指针在文件的开头
r+读写的方式打开文件,文件指针在文件的开头
w打开一个文件只用于写入,并从头开始编辑,原有内容会被删除
w+打开一个文件用于读写,并从头开始编辑,原有内容会被删除
a打开一个文件用于追加,文件指针在文件结尾
a+打开一个文件用于读写,文件指针在文件结尾

这里不涉及对二进制的操作,所以只列举文本操作使用的mode参数。

1.4 文件读写方法
  • f.read():一次性读取所有内容
  • f.readline():按行读取,一次读取一行内容
  • f.readlines():返回一个列表,列表中每个元素就是一行内容
  • f.readable():判断文件是否可读,可读返回True,否则返回False
  • f.write(s):将s写入文件
  • f.seek(0):将文件指针移到文件开头,可以在支持读写的情况下使用,先下如内容,然后将文件指针指向开头,在读取文件内容
1.5 上下文管理

使用方法和open一样,这种是通过上下文管理器的方式进行文件读写,在结束后,可以省略close操作,一搬正常情况下,可以使用with open进行操作
只读模式

with open('test.txt', 'r') as f:content = f.read()

只写模式

with open('test.txt', 'w') as f:f.write('Hello, World!')

追加模式

with open('test.txt', 'a') as f:f.write('append Hello, World!')

2 封装工具类

使用场景:假设需要对人的姓名,年龄,性别信息进行保存,通过txt文件进行存储。

import os.pathclass FileTools:def __init__(self, file: str, sp: str = ','):"""初始化:param file: 文件:param sp: 分割字符,默认逗号,"""if not os.path.exists(file):# 文件不存在,创建文件with open(file, 'w') as f:passself.file = fileself.sp = spdef read(self) -> list:"""读取所有内容,返回列表:return:"""with open(self.file, 'r+', encoding='utf-8') as f:content = f.readlines()return [i.strip().split(self.sp) for i in content]def append(self, *args) -> None:"""追加写入:param content::return:"""try:with open(self.file, 'a+', encoding='utf-8') as f:if len(args) == 1:f.write(args[0] + '\n')else:f.write(self.sp.join(args) + '\n')except TypeError as e:print(f"写入文件异常:{e}")if __name__ == '__main__':ft = FileTools('users.txt')ft.append('张三', '19', '男')ft.append('李四', '20', '女')print(ft.read())# [['张三', '19', '男'], ['李四', '20', '女']]

这里通过不定长参数args来接收需要写入的内容,通过初始化默认的,来进行拼接,所以当添加了两条数据后,文件中的内容如下:

张三,19,男
李四,20,女

然后读取的时候,同样通过默认的,进行分割处理,将结果通过列表嵌套列表返回

✏ 总结

with open文件操作,更多的是文件进行读与写的操作,并不支持更新删除功能,这需要通过读取所有内容,来筛选数据进行删除,更新,然后再将数据覆盖原文件,这种操作属于数据库增删改查功能。

💖 欢迎关注我的公众号

在这里插入图片描述

http://www.yayakq.cn/news/161213/

相关文章:

  • 陕西网站建设企业宜城网站开发
  • 永康建设网站望牛墩做网站
  • 建设电子商务网站所应用的技术泉山徐州网站开发
  • 丹东公司做网站uc搜索引擎入口
  • 深圳找网站建设公司o2o与网站建设
  • 手机 网站开发软件有哪些北京网站优化提供商
  • 临沂建设网站制作公司网站修改思路
  • 在线网站建设课程wordpress主题拖拽
  • 建设商务网站目的及功能定位担路网络科技有限公司的证书
  • 外国建筑设计网站源码网站大淘客cms
  • 自建站网址wordpress播放mp4
  • 法库网站建设网站seo方案设计
  • 网站建设后如何检测建网站的要求
  • 怎么做网站百度贴吧网站备案截图
  • 网站后台用什么程序做镇江网站搜索排名
  • 网站做ddns解析网站系统制作教程
  • 网站搭建公司正能量不良网站进入窗口免费阅读
  • 租车公司网站模板排名优化公司哪家效果好
  • 做网站后的总结关于网站建设方面的文章
  • 简单小网站山东省工程建设管理协会网站
  • 绍兴建站模板厂家网站建站哪家公司好一点
  • 朝阳网站建设网址之家大全
  • 江苏镇江网站建设成都科技网站建设联系电话
  • 网站关键词排名很好的原因阿里OSS做网站图库费用
  • wordpress数据库清理sql北京seo百科
  • 临沂网站建设价格生物科技网站模板
  • 手机网站 侧边栏导航企业信用信息公信系统官网
  • php个人网站源码网站开发 浏览器
  • 云空间的网站如何做响应式网站建设推荐乐云seo
  • 友点企业网站管理系统模板下载县市区没有建设信用网站和平台