Python笔记06-文件操作

文章目录

  • 文件的编码
  • 文件读取
  • 文件写入
  • 文件追加

文件的编码

编码技术即:翻译的规则,记录了如何将内容翻译成二进制,以及如何将二进制翻译回可识别内容。算机中有许多可用编码:UTF-8、GBK、Big5等
不同的编码,将内容翻译成二进制也是不同的,所以要使用正确的编码, 才能对文件进行正确的读写操作呢
我们可以使用Windows系统自带的记事本,打开文件后,即可看出文件的编码是什么:
在这里插入图片描述

文件读取

一篇文章、一段视频、一个可执行程序,都可以被保存为一个文件,并赋予一个文件名。操作系统以文件为单位管理磁盘中的数据。一般来说,文件可分为文本文件、视频文件、音频文件、图像文件、可执行文件等多种类别。

在日常生活中,文件操作主要包括打开、关闭、读、写等操作。、
在Python,使用open函数,可以打开一个已经存在的文件,或者创建一个新文件,语法如下

open(name, mode, encoding)

name:是要打开的目标文件名的字符串(可以包含文件所在的具体路径)。
mode:设置打开文件的模式(访问模式):只读、写入、追加等。
encoding:编码格式(推荐使用UTF-8)
示例代码:

f = open('python.txt', 'r', encoding=”UTF-8)
# encoding的顺序不是第三位,所以不能用位置参数,用关键字参数直接指定

注意:此时的fopen函数的文件对象,对象是Python中一种特殊的数据类型,拥有属性和方法,可以使用对象.属性或对象.方法对其进行访问,后续面向对象课程会给大家进行详细的介绍。

mode常用的三种基础访问模式
在这里插入图片描述
读操作相关方法
read()方法

文件对象.read(num)

num表示要从文件中读取的数据的长度(单位是字节),如果没有传入num,那么就表示读取文件中所有的数据。
readlines()方法
readlines可以按照行的方式把整个文件中的内容进行一次性读取,并且返回的是一个列表,其中每一行的数据为一个元素。

f = open('python.txt')
content = f.readlines()
# ['hello world\n', 'abcdefg\n', 'aaa\n', 'bbb\n', 'ccc']
print(content)

readline()方法
一次读取一行内容

f = open('python.txt')
content = f.readline()
print(f'第一行:{content}')
content = f.readline()
print(f'第二行:{content}')
# 关闭文件
f.close()

for循环读取文件行

for line in open("python.txt", "r"):
    print(line)
# 每一个line临时变量,就记录了文件的一行数据

close()方法
关闭文件对象

f = open("python.txt", "r")
f.close()
# 最后通过close,关闭文件对象,也就是关闭对文件的占用
# 如果不调用close,同时程序没有停止运行,那么这个文件将一直被Python程序占用

with open 语法

with open("python.txt", "r") as f:
    f.readlines()
# 通过在with open的语句块中对文件进行操作
# 可以在操作完成后自动关闭close文件,避免遗忘掉close方法

文件写入

# 1. 打开文件
f = open('python.txt', 'w')
# 2.文件写入
f.write('hello world')
# 3. 内容刷新
f.flush()

注意:
直接调用write,内容并未真正写入文件,而是会积攒在程序的内存中,称之为缓冲区
当调用flush的时候,内容会真正写入文件
这样做是避免频繁的操作硬盘,导致效率下降(攒一堆,一次性写磁盘)
文件如果不存在,使用”w”模式,会创建新文件
文件如果存在,使用”w”模式,会将原有内容清空

文件追加

# 1. 打开文件,通过a模式打开即可
f = open('python.txt', 'a')
# 2.文件写入
f.write('hello world')
# 3. 内容刷新
f.flush()

a模式,文件不存在会创建文件
a模式,文件存在会在最后,追加写入文件

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

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

相关文章

其他排序(基数排序,希尔排序和桶排序)(数据结构课设篇3,python版)(排序综合)

本篇博客主要详细讲解一下其他排序(基数排序,希尔排序和桶排序)也是排序综合系列里最后一篇博客。第一篇博客讲解的是LowB三人组(冒泡排序,插入排序,选择排序)(数据结构课设篇1&…

【C++】深入了解构造函数之初始化列表

目录 一、再谈构造函数 1、引入 1)构造函数体赋值 2)不同成员变量赋值 2、初始化列表 一、再谈构造函数 1、引入 1)构造函数体赋值 在创建对象时,编译器通过调用构造函数,给对象中各个成员变量一个合适的初始值…

勇哥带您手搓一个信息发布系统CMS(3)--抽象栏目模板设计

目录 引言 一、栏目数据库设计。 二、Controller层方法设计 引言 在CMS开发过程中,一般如果采用thymeleaf开发,那就需要每一个页面配一个Controller中的方法指定页面,但是这样就会导致Controller中的方法非常多,而且也会破坏C…

yarn -v和vue -V报错环境变量配置

node官网下载安装好node后,node-v npm-v查看版本号,安装好node后会自动安装好npm和配置好全局环境变量 全局安装 yarn npm i yarn -g 查看是否安装成功 yarn -v 安装 vue/cli yarn global add vue/cli 查看是否安装成功 vue -V 或vue --version 如果…

STL——deque详解

目录 💡基本概念 💡deque构造函数 💡deque赋值操作 💡deque大小 💡deque插入和删除 💡deque数据存取 💡deque排序 💡基本概念 功能: 双端数组,可以对头端进行插入删…

VmWare虚拟机的安装

VmWare官方最新版下载地址 vmware官方下载地址 安装流程 安装成功验证 安装完成之后,打开网络中心,一定要确认这里多出两个网络连接,才证明Vmware已经安装成功

Kali Linux——获取root权限

目录 一、设置root密码 【操作命令】 【操作实例】 二、临时获取root权限 【操作命令】 【操作实例】 三、提升用户到root 1、获取root权限 2、进入/etc/passwd 3、查看root账号ID 4、找到需要修改的用户 5、输入i,进入编辑模式 6、把用户的ID改成跟r…

【好书推荐-第二期】《实战AI大模型 》:带你走进大模型GPTs、AIGC的世界(李开复、周鸿祎、颜水成倾力推荐)

😎 作者介绍:我是程序员洲洲,一个热爱写作的非著名程序员。CSDN全栈优质领域创作者、华为云博客社区云享专家、阿里云博客社区专家博主、前后端开发、人工智能研究生。公粽号:程序员洲洲。 🎈 本文专栏:本文…

数据结构c语言版:顺序表

顺序表的定义 顺序表是一种线性数据结构,它由一组连续的存储单元组成,用来存储具有相同数据类型的元素。顺序表中的元素按照逻辑顺序依次存放,并且可以通过索引来访问和修改元素。 顺序表的实现方式 两种:静态顺序表和动态顺序表。…

华为mstp、vrrp、ospf、isis、bgp等综合一起排错

最终实现左边私网和右边私网全部ping通 SW1 vlan batch 12 34 stp region-configuration //mstp配置 region-name test instance 12 vlan 12 instance 34 vlan 34 active region-configuration interface GigabitEthernet0/0/3 port link-type trunk port trunk allow-pass …

基于 Python+Neo4j+医药数据,构建了一个知识图谱的自动问答系统

知识图谱是目前自然语言处理的一个热门方向。目前知识图谱在各个领域全面开花,如教育、医疗、司法、金融等。 本项目立足医药领域,以垂直型医药网站为数据来源,以疾病为核心,构建起一个包含7类规模为4.4万的知识实体,…

Apifox使用外部文件完成接口预处理

pm.executeAsync(filePath, args, options) filePath string 外部程序路径 args string[] 参数。调用 jar 包中的指定方法时,会使用 JSON.stringify 进行转换。除此之外非 >string 类型会进行隐式类型转换自动转换为 string 类型。 options Object command str…

数据结构期末模拟试卷

一、判断题 1.关键路径是AOE网中从源点到汇点的最短路径。(F) 在AOE网中,从源点到汇点最长的路径称为关键路径,在关键路径上的活动称为关键活动 2. 二叉排序树的查找效率和二叉排序树的髙度有关。(T) 最好…

【ARM 处理器】程序存储详解

本篇文章主要介绍ARM处理器,Code, RO-data,RW-data,ZI-data 知识以及程序存储情况 目录 1. 专业词汇2. 程序存储3. 程序空间计算 1. 专业词汇 Code : 代码区,存储在 ROM 区域RO-data:Read Only data,即只读数据域&…

TIA Portal 各版本安装指南

TIA Portal下载链接 https://pan.baidu.com/s/1Jat53vGz1rXfLm7kTldz-Q?pwd0531 1.鼠标右击【TIA portal V19 (64bit)】压缩包(先点击“显示更多选项”)选择【解压到 TIA portal V19 (64bit)】。 2.打开解压后的文件夹,鼠标右击【NoRestart…

windows 部署zlm

安装 双击下面的文件,进行安装 查看服务是否安装成功 在任务栏右键,选择任务管理器 选择服务,打开服务 显示正在运行 查看推流密钥

应用层

title: 应用层 date: 2023-12-20 21:03:48 tags: 知识总结 categories: 计算机网络 应用层:负责最直观的应用请求的封装、发起 一、域名系统DNS 连接在互联网上的主机不仅有IP地址,还有便于用户记忆的主机名字。域名系统DNS能够把互联网上的主机的名字…

软件测试作业‖若依系统的自动化+性能

以若依系统或者任意系统作为案例,题目:以某一 web系统为测试对象,完成以下文档的编写: (1)产品规格说明书(SPEC) 要求:功能完整(完成产品需求70%以上)、UI优良(每个页 面均有字段约束和合理的出错提示)、流程完整(一一对应功能)、流程合理(处理逻辑非…

C++笔记之cout高亮输出以及纯C++实现一个彩色时钟

C笔记之cout高亮输出以及纯C实现一个彩色时钟 code review! 文章目录 C\笔记之cout高亮输出以及纯C\实现一个彩色时钟一.cout高亮输出1.1.运行1.2.代码一1.3.代码二1.4.重置终端的文本格式到默认设置说明 二.纯C\实现一个彩色时钟2.1.运行2.2.main.cc2.3.cout带颜色打印输出技…

用通俗易懂的方式讲解:万字长文带你入门大模型

告别2023,迎接2024。大模型技术已成为业界关注焦点,你是否也渴望掌握这一领域却又不知从何学起? 本篇文章将特别针对入门新手,以浅显易懂的方式梳理大模型的发展历程、核心网络结构以及数据微调等关键技术。 如果你在阅读中收获…
最新文章