Python 文件操作

news2024/12/28 9:32:24

文件编码

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

文件操作

打开文件 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.coloradmin.cn/o/1884033.html

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

相关文章

tkinter实现进度条

tkinter实现进度条 效果代码解析导入需要的模块定义进度条 代码 效果 代码解析 导入需要的模块 import tkinter as tk from tkinter import ttk定义进度条 def start_progress():progress[value] 0max_value 100step 10for i in range(0, max_value, step):progress[valu…

职场新宠“禁止蕉绿”:解压新方式,健康新态度

近期,一种名为“禁止蕉绿”的带杆香蕉在职场人群中悄然走红,成为他们工位上的新宠。这一现象源于“蕉绿”与“焦虑”的谐音,寓意着职场人对远离焦虑、追求心理放松的渴望。在社交平台上,种植水培果蔬如香蕉、菠萝等已成为职场话题…

一文带您了解Fiddler的家族产品:Fiddler Classic、FiddlerCore、Fiddler和Cap、Fiddler Jam

最近更新了一下Fiddler(好久没更新了),然后浏览了一下官方网站,发现fillder的变化还是蛮大的,新出了好多产品,在这里我就把这些产品进行汇总比较,便于大家快速了解,快速选择自己需要…

为什么网络爬虫广泛使用HTTP代理?

一、引言 网络爬虫作为自动抓取互联网信息的重要工具,在现代社会中发挥着不可或缺的作用。然而随着网络环境的日益复杂,网站反爬虫技术的不断进步,网络爬虫在获取数据的过程中面临着越来越多的挑战。为了应对这些挑战,HTTP 代理成…

复制 pdf 的表格到 markdown 版本的Typora 或者 word 中

在 pdf 中选中复制表格内容,直接粘贴到 typora 中失败,可以使用 txt文件和 excel 做过渡。 准备一个空的 txt 文件,将 pdf 中表格的数据复制粘贴到txt文件中,文本内容会以空格分开,如下图的形式: 打开 exc…

【Excel、RStudio计算T检测的具体操作步骤】

目录 一、基础知识1.1 显著性检验1.2 等方差T检验、异方差T检验1.3 单尾p、双尾p1.3.1 检验目的不同1.3.2 用法不同1.3.3 如何选择 二、Excel2.1 统计分析工具2.1.1 添加统计分析工具2.1.2 数据分析 2.2 公式 -> 插入函数 -> T.TEST 三、RStudio 一、基础知识 参考: 1.…

Spring底层原理之bean的加载方式四 @import 注解

bean的加载方式四 import 第四种bean的导入方式 是import导入的方式 在配置类上面加上注解就行 package com.bigdata1421.config;import com.bigdata1421.bean.Dog; import org.springframework.context.annotation.Import;Import(Dog.class) public class SpringConfig4 {…

直播的js代码debug解析找到protobuf消息的定义

我们都知道直播的弹幕消息是通过websocket发送的,而且是通过protobuf传输的,那么这里面传输了哪些内容,这个proto文件又要怎么定义?每个消息叫什么,消息里面又包含有哪些字段,每个字段又是什么类型&#xf…

1-3.文本数据建模流程范例

文章最前: 我是Octopus,这个名字来源于我的中文名–章鱼;我热爱编程、热爱算法、热爱开源。所有源码在我的个人github ;这博客是记录我学习的点点滴滴,如果您对 Python、Java、AI、算法有兴趣,可以关注我的…

# [0701] Task05 策略梯度、Actor-critic 算法

easy-rl PDF版本 笔记整理 P4、P9 joyrl 比对 补充 P9 - P10 相关 代码 整理 最新版PDF下载 地址:https://github.com/datawhalechina/easy-rl/releases 国内地址(推荐国内读者使用): 链接: https://pan.baidu.com/s/1isqQnpVRWbb3yh83Vs0kbw 提取码: us…

LeetCode中MySQL题目 176.第二高的薪水

题目图片: 题目解答: SELECTIFNULL((SELECT DISTINCT SalaryFROM EmployeeORDER BY Salary DESCLIMIT 1 OFFSET 1),NULL) AS SecondHighestSalary解答解析: 就是用了一个叫做IFNULL的函数进行判断,如果查找出来的内容为空&…

信息系统的安全模型

1. 信息系统的安全目标 信息系统的安全目标是控制和管理主体(含用户和进程)对客体(含数据和程序)的访问。作为信息系统安全目标,就是要实现: 保护信息系统的可用性; 保护网络系统服务的…

第1章 人工智能的基础概念与应用导论

亲爱的读者朋友们,你们好!欢迎来到这个充满神奇与奥秘的人工智能世界。我知道,对于很多人来说,人工智能(AI)可能是个既神秘又高大上的词汇,仿佛遥不可及,只存在于科幻电影或者顶级科…

大数据学习之Clickhouse

Clickhouse-23.2.1.2537 学习 一、Clickhouse概述 clickhouse 官网网址:https://clickhouse.com/ ClickHouse是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS)。 OLTP(联机事务处理系统)例如mysql等关系型数据库,在对于存储小数据量的时候&#xff…

Linux内核——Linux内核体系模式(二)

1 Linux系统的中断机制 Linux内核将中断分为两类:硬件中断和软件中断(异常)。每个中断是由0-255之间的一个数字进行标识。 中断int0-int31(0x00-0x1f)作为异常int32-int255由用户自己设定 int32-int47对应与8259A中断…

怎么永久禁止win10系统自动更新?一键屏蔽系统自动更新

现在 Windows 10 系统是很多办公用户的主力操作系统,可是 Windows 系统会自动更新,这会严重影响系统稳定性。因为微软虽然以提供更新为服务,但并不是每次更新它都是安全的。 接下来和我一起看看如何使用联想开发的小工具一键屏蔽系统自动更新…

数据库定义语言(DDL)

数据库定义语言(DDL) 一、数据库操作 1、 查询所有的数据库 SHOW DATABASES;效果截图: 2、使用指定的数据库 use 2403 2403javaee;效果截图: 3、创建数据库 CREATE DATABASE 2404javaee;效果截图: 4、删除数据…

Datax快速使用之牛刀小试

前言 一次我发现业务他们在用 datax数据同步工具,我尤记得曾经 19 年使用过,并且基于当时的版本还修复了个 BUG并且做了数据同步管道的集成开发。没想到时间过的飞快,业务方基于海豚调度 2.0.6 的版本中有在使用,由于业务方还没有…

光伏设计的原则和必备要素

光伏设计是一项复杂的工程任务,它涉及到将太阳能转换为电能的过程,并在各种环境条件下确保系统的稳定、高效运行。以下是光伏设计应遵循的原则和必备的要素。 一、光伏设计的原则 1、最大化能量产出:光伏设计的首要原则是通过合理的布局和选…

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

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