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,一经查实,立即删除!

相关文章

【Linux】命令行设置IP以及网关

除了使用ifconfig 查看和设置网络&#xff0c;linux还有一个好用的命令&#xff1a;ip 以下是一些常见的 ip 命令用法&#xff0c;涵盖了设置 IP 地址、网关、子网掩码和其他网络相关设置的一些情况&#xff1a; 设置 IP 地址和子网掩码&#xff1a;ip address add <ip_add…

Docker基本管理(1)

目录 一、什么是docker&#xff1f; 二、docker的优点 三、docker与虚拟机的区别 四、docker三大组件 六、docker容器操作 七、docker网络 一、什么是docker&#xff1f; Docker是一个开源的应用容器引擎&#xff0c;基于go语言开发并遵循了apache2.0协议开源。是一种轻量…

【特征工程】 分类变量:使用OrdinalEncoder对序数特征进行编码

Ordinal Encoding&#xff1a;序数特征的编码方法 1. Ordinal Encoding是什么&#xff1f; 什么是序数特征&#xff1f;&#xff1a; 序数特征&#xff08;Ordinal features&#xff09; 是分类特征中包含一定顺序的变量&#xff08;如家属人数、教育程度、财产范围&#xf…

vue面试题集锦

1. 谈一谈对 MVVM 的理解&#xff1f; MVVM 是 Model-View-ViewModel 的缩写。MVVM 是一种设计思想。 Model 层代表数据模型&#xff0c;也可以在 Model 中定义数据修改和操作的业务逻辑; View 代表 UI 组件&#xff0c;它负责将数据模型转化成 UI 展现出来&#xff0c;View 是…

web缓存代理

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

分享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 运营管理&#xff08;ITOM&#xff09;可以定义为监督 IT 基础架构的各种物理和虚拟组件的过程;确保其性能、运行状况和可用性;并使它们能够与基础架构的其他组件无缝协作。IT 运营管理&#xff08;ITOM&#xff09;在大型 IT 管理模型中也发挥着积极作用&#xff0c;包括 I…

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

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

vue配置qiankun及打包上线

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

蓝桥杯练习题(三)

&#x1f4d1;前言 本文主要是【算法】——蓝桥杯练习题&#xff08;三&#xff09;的文章&#xff0c;如果有什么需要改进的地方还请大佬指出⛺️ &#x1f3ac;作者简介&#xff1a;大家好&#xff0c;我是听风与他&#x1f947; ☁️博客首页&#xff1a;CSDN主页听风与他 …

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

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

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

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

Zookeeper 和 naocs的区别

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

【天龙怀旧服】攻略day4

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

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

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

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

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

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

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

@ConditionalOnProperty配置条件用法

1.application.yml配置 spring:rabbitmq:listener: simple:prefetch: 1acknowledge-mode: autoretry:enabled: true # consumer retry2.指定prefix name havingValue 指定了havingValue&#xff0c;要把配置项的值与havingValue对比&#xff0c;一致则加载Bean Configurati…

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

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