Python 文件操作

文件编码

将文件的内容翻译为二进制

文件操作

打开文件 open函数

语法:

open(name, mode, encoding)
name:文件名的字符串,可以包含具体路径。若没有路径,则默认为与py文件位于同一层
mode:打开文件的模式:只读、写入、追加等
encoding:编码格式,常用UTF-8。注意encoding不是第三个参数

在这里插入图片描述

通过open函数会得到一个文件对象

f = open("test.txt", 'r', encoding='UTF-8')# encoding使用关键字传参
# 以只读方式打开test.txt,得到一个文件对象

读取文件 r模式

test.txt:
hello world
hhhh
abandon

注意:若多次读取文件,则会从上次读取的末尾位置开始读取数据
在这里插入图片描述
① read()方法:

文件对象.read(num)

num表示读取的长度,单位为字节。若没有num,则代表全部读取。注意’\n’占一个字节
读取到的数据类型为str

data=f.read()
print(data)
输出:
hello world
hhhh
abandon

② readlines()方法:

文件对象.readlines()

按照行的方式整个文件中的内容进行一次性读取,并且返回一个列表。其中每行元素为一个元素。

data=f.readlines()
print(data) # ['hello world\n', 'hhhh\n', 'abandon']

③ readline()方法

文件对象.readline()

调用一次,读取一行。注意,一行中会包含’\n’。读取到的数据类型为str。

data = f.readline()
print(data)
data = f.readline()
print(data)
data = f.readline()
print(data)
输出:
hello world
hhhh
abandon

④ for循环读取文件
利用for循环读取文件的每一行数据。

for line in f:
	print(line)

关闭文件 close()

若不关闭文件,程序运行时,该文件会被Python程序一直占用。

文件对象.close()

with open 语法

通过在 with open的语句块中对文件进行操作。在操作结束后,会自动close文件。防止忘记关闭文件。

with open("test.txt", "r", encoding="UTF-8") as f:
	f.read()

文件写入 w模式

打开文件 open()方法 --> 写入文件 write()方法 --> 刷新文件 flush()方法
open()打开文件

f = open("test.txt", "w")# 以写入模式打开

注意:若test.txt不存在,则会新建一个test.txt文件

write(data) 写入文件

f.write(data)

flush() 刷新文件
调用write方法时,数据并没有直接写入文件,而是存放到缓冲区中。
只有调用了 flush() 方法,数据才会真正地写入文件。
可以避免频繁地写入磁盘
close()方法内置了flush功能。

注意:由于是以 “w”写入模式打开,因此写入的数据会覆盖文件中原有的数据,将原有数据清空。

追加写入 a模式

与写入模式基本一致,只是写入数据时,不会清空原有的数据,而是在末尾追加数据。
打开文件 open() --> 写入数据 write() --> 刷新文件 flush()
打开文件

f=open("test.txt", "a")# 以追加模式打开

若文件不存在,则会创建新文件。

写入文件 write()

f.write(data)# 在末尾追加数据

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

PP-JITTER \RMS-JITTER 及其他Jitter解析

Jitter概念 Jitter(抖动)是从时域评价时钟信号质量的重要参数。 首先要明确的是它是一个统计量,因此有标准差(均方根,rms)和范围(峰峰值,p2p); 然后根据样本的类型可以划分成不同的分类,如Jabs(absolute jitter)、Jp(period jitter)、Jc2c(cycle-to-cycle ji…

Forecasting from LiDAR via Future Object Detection

Forecasting from LiDAR via Future Object Detection 基础信息 论文:cvpr2022paper https://openaccess.thecvf.com/content/CVPR2022/papers/Peri_Forecasting_From_LiDAR_via_Future_Object_Detection_CVPR_2022_paper.pdfgithub:https://github.co…

UWB透传模块-通信距离1KM UWB650 透明传输 | 双向测距 | 定位模块

UWB650模块是思为无线推出的一款基于UWB(Ultra Wide Band,超宽带)技术的无线通讯模块,遵循IEEE 802.15.4-2020 Standard协议。UWB650模块是在UWB3000F27基础上研发,使该模块拥有0.5W的高功率功放芯片。用户无需去设计电…

Ubuntu使用chkconfig命令时报错:chkconfig: command not found解决办法

文章目录 前言一、安装sysv-rc-conf1.1 引入库安装可能报错:E: Unable to locate package sysv-rc-conf1.2 添加镜像源后更新安装源:1.3 更新安装源可能报错如下内容:1.4 添加密钥1.5 添加密钥后更新安装源:1.6 用apt-get安装sysv…

能源企业的“宿命”,是成为穿越时代的传奇

2012年,杰里米里夫金的《第三次工业革命》出版,他在书中提出了能源互联网的观点,将互联网技术和可再生能源结合起来,用以支持未来的产业革命。 里夫金不愧是和凯文凯利(KK)齐名的未来学家,十几…

fastapi swagger在线接口文档报错

fastapi swagger在线接口文档报错 1、报错信息 Unable to render this definition The provided definition does not specify a valid version field. Please indicate a valid Swagger or OpenAPI version field. Supported version fields are swagger: “2.0” and those …

Python笔记 json数据格式的转换

一、json数据格式 1.什么是json json是一种轻量级的数据交互格式。可以按照json指定的格式去组织和封装数据 json本质上是一个带有特定格式的字符串 主要功能:json就是一种在各个编程语言中流通的数据格式,负责不同编程语言中的数据传递和交互。类似…

Windows电脑自建我的世界MC服务器并与好友远程联机游戏教程

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

红海云签约茉莉奶白,引领茶饮行业人力资源数字化新潮流

关于茉莉奶白 茉莉奶白,始于深圳,以茉莉为首的东方四白花为灵感,择高山茗茶以花窨之法制茶,专注茉莉香中国茶。一直坚持对茉莉的极致探索,从视觉到味蕾完美诠释东方摩登。让现代年轻人在日常中感知东方花道与茶道的魅力…

函数创建单链表---无n型,需要 while 循环 + scanf

题目&#xff1a; #include <stdlib.h> struct link{int data;struct link *next; }; struct link* creatLink(); int main(){struct link *head,*p;headcreatLink();for(phead->next ;p;pp->next )printf("%d ",p->data );return 0; }/* 请在这里填…

图像基础知识入门【图像概念不同图像格式】

图像基础知识入门【图像概念&不同图像格式】 最近有在处理图像转换&#xff0c;因此稍微补足了一下图像相关知识&#xff0c;特在此记录。下面汇总是我根据自己理解和网上查阅资料而来。如有错误&#xff0c;欢迎大家指正。 1 基础概念 像素/分辨率 像素(Pixel)&#xff…

51单片机嵌入式开发:STC89C52环境配置到点亮LED

STC89C52环境配置到点亮LED 1 环境配置1.1 硬件环境1.2 编译环境1.3 烧录环境 2 工程配置2.1 工程框架2.2 工程创建2.3 参数配置 3 点亮一个LED3.1 原理图解读3.2 代码配置3.3 演示 4 总结 1 环境配置 1.1 硬件环境 硬件环境采用“华晴电子”的MINIEL-89C开发板&#xff0c;这…

昇思25天学习打卡营第6天|Vision Transformer

文章目录 昇思MindSpore应用实践基于MindSpore的Vision Transformer1、Vision Transformer&#xff08;ViT&#xff09;简介网络结构 2、Attention模块Encoder部分用到的功能函数&#xff1a;整体构建ViT模型 3、模型训练4、模型验证 Reference 昇思MindSpore应用实践 本系列文…

Java web应用性能分析之【prometheus监控K8s指标说明】

常规k8s的监控指标 单独 1、集群维度 集群状态集群节点数节点状态&#xff08;正常、不可达、未知&#xff09;节点的资源使用率&#xff08;CPU、内存、IO等&#xff09; 2、应用维度 应用响应时间 应用的错误率 应用的请求量 3、系统和集群组件维度 API服务器状态控…

C++视觉开发 三.缺陷检测

一.距离变换 1.概念和功能 距离变换是一种图像处理技术&#xff0c;用于计算图像中每个像素到最近的零像素&#xff08;背景像素&#xff09;的距离。它常用于图像分割、形态学操作和形状分析等领域。它计算图像中每个像素到最近的零像素&#xff08;背景像素&#xff09;的距…

制造型企业生产管理的技巧,你都用过哪些?

作为管理者&#xff0c;一谈到生产管理&#xff0c;你可能会想到很多生产过程中的问题&#xff1a;订单准交率不高、计划达成率不高、生产效率低、再制品太多、生产周期长等等一系列问题&#xff1b;如果你不仅仅是一名管理者&#xff0c;你还是一名企业主&#xff0c;你甚至经…

安装Rabbitmq遇到的坑

&#xff01;&#xff01;&#xff01;一定要对号版本号 不同的虚拟机unbontu、cetenos和不同的erlang和不同的rabbitmq之间要对应下载对应版本 下面给出我的版本centos7erlangrabbitmq 分割线 安装好后&#xff0c;如果在虚拟机的服务器上可以打开&#xff0c;在本地浏览器…

UI(四)布局

文章目录 10、Navigator——路由器组件11、Pannel——可滑动面板12、Refresh——刷新组件13、RelativeContainer——相对布局组件14、Scroll——可滚动容器15、SideBarContainer——侧边栏容器16、Stack——堆叠容器17、Swiper——滑动块视图容器18、Tabs和TabContent——页签和…

Nginx-2

一、高级配置 1.1网页状态页 基于nginx 模块 ngx_http_stub_status_module 实现&#xff0c;在编译安装nginx的时候需要添加编译参数 --with-http_stub_status_module&#xff0c;否则配置完成之后监测会是提示语法错误注意: 状态页显示的是整个服务器的状态,而非虚拟主机的状…

【SQL】已解决:SQL错误(208):对象名‘STRING_SPLIT‘无效

文章目录 一、分析问题背景二、可能出错的原因三、错误代码示例四、正确代码示例五、注意事项 已解决&#xff1a;SQL错误&#xff08;208&#xff09;&#xff1a;对象名‘STRING_SPLIT‘无效 在使用SQL Server进行数据库操作时&#xff0c;遇到错误&#xff08;208&#xff…