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)# 在末尾追加数据

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

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

相关文章

新质生产力最新测算(Shp/dta/xcel格式,2012-2022年)

数据简介:参考学者蔡湘杰、贺正楚的做法、我们通过收集数据构建了如下所示的衡量新质生产力的指标体系,但部分数据由于收集难度以及未公布等问题,部分数据有缺少,下面展示了部分原始数据,便于大家进行分析。 数据来源…

sql 的 update操作

sqlserver:在SQL Server中,你的UPDATE语句的语法需要稍微调整一下。你不能直接在SET子句之后立即跟INNER JOIN。正确的语法是将JOIN操作放在UPDATE和SET之间。以下是正确的写法: UPDATE test_item SET test_item.s1no subcontractor.s1no FROM test_it…

【PYG】简单分析Planetoid()中存储Cora数据集边的数量

文章目录 这得分析cora.cites原始文件步骤示例代码输出解释分析 chagpt生成的第一个版本答案,打印数据集的部分可以看下输出解释进一步验证总结 chatgpt生成的第二个版本答案检查 Cora 数据集的边输出解释检查边的方向性解释进一步优化运行结果解释 chagpt生成的第三…

RedHat9 | 内部YUM本地源服务器搭建

服务器参数 标识公司内部YUM服务器主机名yum-server网络信息192.168.37.1/24网络属性静态地址主要操作用户root 一、基础环境信息配置 修改主机名 [rootyum-server ~]# hostnamectl hostname yum-server添加网络信息 [rootyum-server ~]# nmcli connection modify ens160 …

mac 安装cnpm 淘宝镜像记录

mac 安装cnpm 淘宝镜像记录 本文介绍了在安装cnpm时遇到权限问题的解决方案,包括使用sudo,处理SSL证书过期,以及因版本不一致导致的错误处理方法,步骤包括设置npm配置、卸载和重新安装cnpm到特定版本。 安装 npm install cnpm …

Ansible 最佳实践:现代 IT 运维的利器

Ansible 最佳实践:现代 IT 运维的利器 Ansible 是一种开源的 IT 自动化工具,通过 SSH 协议实现远程节点和管理节点之间的通信,适用于配置管理、应用程序部署、任务自动化等多个场景。本文将介绍 Ansible 的基本架构、主要功能以及最佳实践&a…

免费开源的后端API服务-supabase安装和使用-简直是前端学习者福音

文章目录 它是什么安装和部署关于安装关于部署1、注册用户2、创建组织3、创建项目 创建数据库表(填充内容)填充数据库表 使用postman联调API 它是什么 一个开源免费的后端框架,firebase的替代品。可以简单理解类似于headless cms&#xff0c…

8605 删数问题

这是一个典型的贪心算法问题。我们可以从高位开始,找到第一个比后面数字大的数字,删除它,然后继续这个过程,直到删除k个数字。如果我们已经删除了k个数字,但是还没有找到一个比后面数字大的数字,那么我们就…

【多模态LLM】以ViT进行视觉表征的多模态模型1(BLIP-2、InstructBLIP)

note CLIP和BLIP的区别: CLIP:通过对比学习联合训练,预测图像和文本之间的匹配关系。即使用双塔结构,分别对图像和文本编码,然后通过计算cos进行图文匹配。BLIP:包括两个单模态编码器(图像编码…

[Day 21] 區塊鏈與人工智能的聯動應用:理論、技術與實踐

區塊鏈的智能合約運行機制 區塊鏈技術自比特幣誕生以來,便以其去中心化、安全性和透明性等特點引起了廣泛的關注和應用。而智能合約作為區塊鏈技術的一大創新,進一步擴展了區塊鏈的應用場景,使其不僅僅局限於數字貨幣,還可以應用…

Netty EventLoopGroup 详解:Nio、Epoll、Poll 、KQueue和IoUring

Netty EventLoopGroup 详解:Nio、Epoll、Poll 、KQueue和IoUring 概述 Netty 是一个高性能的网络通信框架,它使用 EventLoopGroup 来处理 I/O 事件(学习更多请参考:深入探索Netty的事件驱动模型与实现原理)。不同的 EventLoopGroup 实现针对…

springboot项目加载外部配置文件

springboot项目一般使用application.yml配置文件,数据库信息写在里面,做部署时,各个项目可能密码要求不一样需要修改密码,每次修改密码都要打包就比较麻烦,可以增加个外部配置文件进行处理,具体如下&#x…

javascript 常见设计模式

什么是设计模式? 在软件开发中,设计模式是解决特定问题的经验总结和可复用的解决方案。设计模式可以提高代码的复用性、可维护性和可读性,是提高开发效率的重要手段。 单例模式 1.概念 单例模式 (Singleton Pattern)&#xf…

深入理解二分法

前言 二分法(Binary Search)是一种高效的查找算法,广泛应用于计算机科学和工程领域。它用于在有序数组中查找特定元素,其时间复杂度为 O(log n),显著优于线性搜索的 O(n)。本文将深入介绍二分法的原理、实现及其应用场…

单片机语音识别控制蓝牙通信

基于单片机语音识别控制&蓝牙控制 1、Arduino单片机语音控制1.1 直连1.2 蓝牙无线连接1.3 部分核心程序1.4 实物演示 2、51单片机语音控制2.1 直连2.2 蓝牙无线连接2.3 部分核心程序2.4 实物演示 3、STM32单片机语音控制3.1 直连3.2 蓝牙无线连接3.3 部分核心程序3.4 实物演…

器件频频更换为哪桩

曾想象,在一家大型研发型企业里有如下案例: 硬件工程师设计电路选择了器件库中的某器件,在批量试产产品时,却发现没有库存,即时申请采购,却发现货期相当长,一时难以采购,甚至根本不…

填志愿选专业,文科男生如何选专业?

又到了高考分数出炉,无数学子收获喜悦的季节,在分数刚出炉时,很多学生表现的异常兴奋,于他们而言,这么多年的努力终于有了收获,自己该考虑选择什么专业了。而毫不夸张的说,很多人在拿到专业目录…

HarmonyOS开发探索:使用Snapshot Insight分析ArkTS内存问题

识别内存问题 当怀疑应用存在内存问题的时候,首先使用DevEco Profiler的Allocation Insight来度量内存在问题场景下的大小变化以及整体趋势,初步定界问题出现的位置(Native Heap/ArkTS Heap/dev等)。 在初步识别内存问题出现的位置…

CentOS中使用SSH远程登录

CentOS中使用SSH远程登录 准备工作SSH概述SSH服务的安装与启动建立SSH连接SSH配置文件修改SSH默认端口SSH文件传输 准备工作 两台安装CentOS系统的虚拟机 客户机(192.168.239.128) 服务器(192.168.239.129) SSH概述 Secure S…

Mustango——音乐领域知识生成模型探索

Mustango:利用领域知识的音乐生成模型 论文地址:https://arxiv.org/pdf/2311.08355.pdf 源码地址:https://github.com/amaai-lab/mustango 论文题为**“**利用音乐领域知识开发文本到音乐模型’Mustango’”。它利用音乐领域的知识从文本指…