Python基础知识:整理9 文件的相关操作

1 文件的打开

# open() 函数打开文件
# open(name, mode, encoding)
"""name:  文件名(可以包含文件所在的具体路径)mode:  文件打开模式encoding:  可选参数,表示读取文件的编码格式
"""

2 文件的读取  

文件的打开模式为  r

以下为需要读的文件中的内容

 

 

2.1 读取文件-read(num)

num 表示要从文件中读取的数据的长度(单位是字节),如果没有传入num, 那么就表示读取文件中的所有数据
file = open("txt/test.txt", "r", encoding="utf-8")# 1.读取文件-read(num)
data = file.read()
print(data)

2.2 读取文件-readlines()

读取文件中每一行,返回一个列表,其中每一行的数据为列表中的一个元素
file = open("txt/test.txt", "r", encoding="utf-8")# 2. 读取文件-readlines()
data = file.readlines()
print(data)

2.3 读取文件-readline()

读取文件中的一行数据
file = open("txt/test.txt", "r", encoding="utf-8")# 3. 读取文件-readline() 
data1 = file.readline()
data2 = file.readline()
data3 = file.readline()print(f"第一行的数据是{data1}")
print(f"第二行的数据是{data2}")
print(f"第三行的数据是{data3}")

2.4 for循环读取文件行

file = open("txt/test.txt", "r", encoding="utf-8")# 4. for循环读取文件行
for line in file:print(line, end="")

2.5 文件关闭

file.close()

2.6 with open 语法操作文件

这种方法可以自动关闭文件,就不用手动关闭文件了
with open("txt/test.txt", "r", encoding="utf-8") as file:list = file.readlines()
print(list)

3 文件的写入操作

文件的打开模式为  w

3.1 打开一个不存在的文件 -> 创建文件

# 1.打开一个不存在的文件  创建
fw1 = open("txt/write_test.txt", "w", encoding="UTF-8")
fw1.write("hello girl!")  # 将内容写入到内存中# flush 刷新
fw1.flush()     # 将内存中积攒的内容,写入到磁盘文件中# 关闭文件
fw1.close()    #  关闭文件,释放资源, 内置flush方法,会自动刷新,写close()方法,可以省略flush()方法

3.2 打开一个存在的文件 ->   覆盖原本内容

fw1 = open("txt/write_test.txt", "w", encoding="UTF-8")
fw1.write("hello boy!")  # 将内容写入到内存中# flush 刷新
fw1.flush()     # 将内存中积攒的内容,写入到磁盘文件中# 关闭文件
fw1.close()

4 文件的追加操作

文件的打开模式为  a

4.1 打开一个存在的文件   -> 追加到原本内容的后面

# 1.打开一个存在的文件    追加到原本内容的后面
fw1 = open("txt/add_test.txt", "a", encoding="UTF-8")
fw1.write("I love you")  # 将内容写入到内存中# flush 刷新
fw1.flush()     # 将内存中积攒的内容,写入到磁盘文件中# 关闭文件
fw1.close()

4.2 打开一个不存在的文件  ->  创建文件

fw1 = open("txt/add_test.txt", "a", encoding="UTF-8")
fw1.write("hello boy!")  # 将内容写入到内存中# flush 刷新
fw1.flush()     # 将内存中积攒的内容,写入到磁盘文件中# 关闭文件
fw1.close()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/613162.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

web缓存代理

缓存代理的概述 wed代理的工作机制 缓存网页对象,减少重复请求 web缓存代理作用 1.存储一些之前被访问的,且可能将要被再次访问的静态网络资源对象,使用户可以直接从缓存代理服务器获取资源,从而减少上游原始服务器的负载压力…

分享7款前端CSS动画特效源码(附在线演示)

精选7款前端CSS动画特效源码 下面我会给出特效样式图或演示效果图 但你也可以点击在线预览查看源码的最终展示效果及下载源码资源 CSS飞行的荷包蛋 CSS荷包蛋动画 荷包蛋会向右前方加速飞行 期间还能看到周围的气流匆匆飞过 以下图片只是简单的模型没有具体的动画效果最终动画…

IPv6路由协议---IPv6动态路由(OSPFv3-5)

OSPFv3各链路状态通告类型 4.Inter-Area-Router-LSA区域间路由器(4类LSA) 边界路由器(ABR)产生的第4类LSA,在Area 范围内泛洪,描述了到本AS内其他区域的ASBR路由器信息; 每各Inter-Area-Router-LSA包含一个ASBR路由器信息,LSA中的能力选项(Options)与所描述的ASBR …

满足ITOM需求的网络监控工具

IT 运营管理(ITOM)可以定义为监督 IT 基础架构的各种物理和虚拟组件的过程;确保其性能、运行状况和可用性;并使它们能够与基础架构的其他组件无缝协作。IT 运营管理(ITOM)在大型 IT 管理模型中也发挥着积极作用,包括 I…

强化学习求解TSP(四):Qlearning求解旅行商问题TSP(提供Python代码)

一、Qlearning简介 Q-learning是一种强化学习算法,用于解决基于奖励的决策问题。它是一种无模型的学习方法,通过与环境的交互来学习最优策略。Q-learning的核心思想是通过学习一个Q值函数来指导决策,该函数表示在给定状态下采取某个动作所获…

vue配置qiankun及打包上线

项目结构 基座:vue3 子应用A:vue3 子应用B: react 子应用C:vue3vite 项目目录: 配置基座 首先下载qiankun yarn add qiankun # 或者 npm i qiankun -S 所有子应用也要安装,vue-vite项目安装 cnpm ins…

蓝桥杯练习题(三)

📑前言 本文主要是【算法】——蓝桥杯练习题(三)的文章,如果有什么需要改进的地方还请大佬指出⛺️ 🎬作者简介:大家好,我是听风与他🥇 ☁️博客首页:CSDN主页听风与他 …

[C#]winform部署PaddleOCRV3推理模型

【官方框架地址】 https://github.com/PaddlePaddle/PaddleOCR.git 【算法介绍】 PaddleOCR是由百度公司推出的一款开源光学字符识别(OCR)工具,它基于深度学习框架PaddlePaddle开发。这款工具提供了一整套端到端的文字检测和识别解决方案&a…

PyQt5零基础入门(二)——QLabel控件

前言 QLabel控件可以视为是一个标签项,具有显示文本、图像的作用。在本篇文章中将介绍QLabel控件的常见用法。 例子 显示文本 import sys from PyQt5.QtWidgets import *if __name__ "__main__":app QApplication([])label QLabel(Hello world!)la…

Zookeeper 和 naocs的区别

Nacos 和 ZooKeeper 都是服务发现和配置管理的工具,它们的主要区别如下:功能特性:Nacos 比 ZooKeeper 更加强大,Nacos 支持服务发现、动态配置、流量管理、服务治理、分布式事务等功能,而 ZooKeeper 主要用于分布式协调…

【天龙怀旧服】攻略day4

关键字: 快捷鉴定手工、组队跟随兔子、九州店铺 1】快捷鉴定手工 可以把鉴定符拖到快捷技能栏,例如f1然后鼠标选到未鉴定手工,快捷键即可鉴定 2】组队跟打手,兔子队 队长给小号,组队跟随; 打手退跟随打…

UM2004 一款低功耗、高性能、即插即用型 OOK 射频接收器芯片

UM2004 是一款低功耗、高性能、即插即用型 OOK 射频接收器,该芯片具有 2.5V ~ 5.5V 较宽的输入电压范围,灵敏度高达到-109dBm,工作频段为 300MHz ~ 480MHz,支持 1Kbps~ 5Kbps 的数据率传输。采用 SOP8 封装类型,应用时…

容器扫描Trivy及Trivy-db数据库研究

trivy介绍 Trivy是一个镜像容器扫描工具,用于扫描漏洞和配置错误。 它是一款相当全面且多功能的安全扫描器,支持多种扫描目标,能够弥补市面上常见Web 漏洞扫描工具的不足。 Trivy 可以轻松地通过安装并将二进制文件添加到项目中,…

Edge浏览器设置自动刷新详细步骤分享

Edge浏览器自动刷新设置方法详细教学分享。在电脑上访问一些动态网页的时候,用户发现网页的内容滚动之后,内容无法进行刷新。这个情况是我们的浏览器没有开启自动刷新功能。那么这个功能设置怎么开启呢?一起来看看以下的操作方法教学吧。 操…

AI 在医学中的三个关键作用;联想 AI PC 全阵容亮相 CES 2024

近日,在接受 Northwestern 采访时,著名心脏病学教授 Sanjiv Shah 谈及了 AI 和医学结合所带来的三个关键作用。 Sanjiv Shah 说道:「首先是诊断。有许多疾病,无论是常见的还是罕见的,都容易被误诊或漏诊。AI 可以提醒临…

Farad capacitor法拉电容优点及缺点

Farad capacitor 法拉电容又称Electrical Double-Layer Capacitor双电层电容器、Gold capacitor黄金电容、Super capacitor 超级电容器,是一种化学元件。Super capacitor 超级电容器通过极化电解质来储能,但不发生化学反应,而且储能过程是可逆…

如何在 Windows10 下运行 Tensorflow 的目标检测?

看过很多博主通过 Object Detection 实现了一些皮卡丘捕捉,二维码检测等诸多特定项的目标检测。而我跟着他们的案例来运行的时候,不是 Tensorflow 版本冲突,就是缺少什么包,还有是运行官方 object_detection_tutorial 不展示图片等…

golang学习-指针

1、定义 指针也是一个变量,但它是一个特殊的变量,它存储的是另一个变量的内存地址。是引用数据类型。 取一个变量的地址:&a 定义: var p *int &a 可以理解为 指针变量p中存储的是a的内存地址,但是变量p也…

leaflet学习笔记-贝塞尔曲线绘制(八)

前言 两点之间的连线是很常见的,但是都是直直的一条线段,为了使连线更加平滑,我们可以使用曲线进行连线,本功能考虑使用贝塞尔曲线进行连线绘制,最后将线段的两端节点连接,返回一个polygon。 贝塞尔简介 …

大模型学习之书生·浦语大模型4——基于Xtuner大模型微调实战

基于Xtuner大模型微调实战 Fintune简介 海量数据训练的base model指令微调Instructed LLM 增量预训练微调 增量数据不需要问题,只需要答案,只需要陈述类的数据 指令跟随微调 指定角色指定问题给对应的user指定答案给assistant LIaMa2InternLM 不同的模…