day11:文件处理

一、文件与文件模式介绍

1、什么是文件

文件是操作系统提供给用户/应用程序操作硬盘的一种虚拟的概念/接口
用户/应用程序(open())
操作系统(文件)
计算机硬件(硬盘)

2、为何要用文件

①用户/应用程序可以通过文件将数据永久保存的硬盘中,即操作文件就是操作硬盘;②用户/应用程序直接操作的是文件,对文件进行的所有的操作,都是在向操作系统发送系统调用,然后再由操作将其转换成具体的硬盘操作;

3、如何用文件:open()

控制文件读写内容的模式:t和b
强调:t和b不能单独使用,必须跟r/w/a连用

t文本(默认的模式)

1、读写都以str(unicode)为单位的
2、文本文件
3、必须指定encoding=‘utf-8’

b二进制/bytes

控制文件读写操作的模式
r只读模式
w只写模式
a只追加写模式
+:r+、w+、a+

二、文件操作基本

1、打开文件

windows路径分隔符问题
open(‘C:\a.txt\nb\c\d.txt’)

解决方案一:推荐
open(r’C:\a.txt\nb\c\d.txt’)

解决方案二:
open(‘C:/a.txt/nb/c/d.txt’)

注: f的值是一种变量,占用的是应用程序的内存空间

f=open(r'aaa/a.txt',mode='rt') 
print(f)
x=int(10)

2、操作文件

读/写文件,应用程序对文件的读写请求都是在向操作系统发送系统调用,然后由操作系统控制硬盘把输入读入内存、或者写入硬盘

res=f.read()
print(type(res))
print(res)

3、关闭文件

f.close() # 回收操作系统资源,这是操作系统的东西,关闭了刚打开的文件,但python关闭不到,所以不可省略
print(f)
f.read() # 变量f存在,但是不能再读了,因为操作系统已经将文件f.close()关闭了#del f     # 回收应用程序资源,在python3中不需要这一步,因为Python的GC模块主要运用了“引用计数”(reference counting)来跟踪和回收垃圾。在引用计数的基础上,还可以通过“标记-清除”(mark and sweep)解决容器对象可能产生的循环引用的问题,并且通过“分代回收”(generation collection)以空间换取时间的方式来进一步提高垃圾回收的效率。

4、with上下文管理

文件对象又称为文件句柄
句柄,理解为手柄,手柄控制游戏任务,所以类比,句柄操控操作系统

with open('a.txt',mode='rt') as f1: # f1=open('a.txt',mode='rt')res=f1.read()print(res)with open('a.txt',mode='rt') as f1,\       # 这里注意:一行代码太长,使用‘\’进行分割换行,回车open('b.txt',mode='rt') as f2:res1=f1.read()res2=f2.read()print(res1)print(res2)# f1.close()   with 语法已经将f1/f2关闭,这两步可以省略# f2.close()

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

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

相关文章

【最强八股文 -- 计算机网络】【快速版】DNS 解析过程

步骤一:查询浏览器及计算机本地 HOST 文件中是否有对应的 缓存 步骤二:请求本地 DNS 服务器 (无则请求 根级 获取能提供信息的权威 DNS 服务器 ) 步骤三:逐级返回对应的 IP 至浏览器 步骤四:浏览器发起连接并缓存 参考资料&#x…

通过Arcgis从逐月平均气温数据中提取并计算年平均气温

通过Arcgis快速将逐月平均气温数据生成年平均气温数据。本次用2020年逐月平均气温数据操作说明。 一、准备工作 (1)准备Arcmap桌面软件; (2)准备2020年逐月平均气温数据(NC格式)、范围图层数据&…

JAVA分布式事务详情分布式事务的解决方案Java中的分布式事务实现

本人详解 作者:王文峰,参加过 CSDN 2020年度博客之星,《Java王大师王天师》 公众号:JAVA开发王大师,专注于天道酬勤的 Java 开发问题中国国学、传统文化和代码爱好者的程序人生,期待你的关注和支持!本人外号:神秘小峯 山峯 转载说明:务必注明来源(注明:作者:王文峰…

数一140+上岸|七月强化一定要避开这3个雷区!

当然可以,强化阶段的主要任务就是做题! 但是不用一刀切,强化阶段听课和做题可以二八原则,就是听课占20%,做题占80%。 因为自己去自学讲义的话,比如张宇18讲,会漏掉一些重点,有的技…

进程间的通信--管道

文章目录 一、进程通信的介绍1.1进程间为什么需要通信1.2进程如何通信 二、管道2.1匿名管道2.1.1文件描述符理解管道2.1.2接口使用2.1.3管道的4种情况2.1.4管道的五种特征 2.2管道的使用场景2.2.1命令行中的管道2.2.2进程池 2.命名管道2.1.1原理2.2.2接口2.2.3代码实例 一、进程…

scipy库中,不同应用滤波函数的区别,以及FIR滤波器和IIR滤波器的区别

一、在 Python 中,有多种函数可以用于应用 FIR/IIR 滤波器,每个函数的使用场景和特点各不相同。以下是一些常用的 FIR /IIR滤波器应用函数及其区别: from scipy.signal import lfiltery lfilter(fir_coeff, 1.0, x)from scipy.signal impo…

【Docker-compose】搭建php 环境

文章目录 Docker-compose容器编排1. 是什么2. 能干嘛3. 去哪下4. Compose 核心概念5. 实战 :linux 配置dns 服务器,搭建lemp环境(Nginx MySQL (MariaDB) PHP )要求6. 配置dns解析配置 lemp Docker-compose容器编排 1. 是什么 …

springer latex模板参考文献不显示

原因 his is BibTeX, Version 0.99d (TeX Live 2024) The top-level auxiliary file: sn-article.aux I couldn’t open style file sn-mathphys-num.bst —line 2 of file sn-article.aux : \bibstyle{sn-mathphys-num : } I’m skipping whatever remains of this command I…

【智能算法改进】一种混合多策略改进的麻雀搜索算法

目录 1.算法原理2.改进点3.结果展示4.参考文献5.代码获取 1.算法原理 【智能算法】麻雀搜索算法(SSA)原理及实现 2.改进点 精英反向学习策略 将精英反向学习策略应用到初始化阶段, 通过反向解的生成与精英个体的选择, 不仅使算法搜索范围得到扩大, 提…

Gunicorn的预分叉架构:快速启动与高效资源利用

Gunicorn的预分叉架构:快速启动与高效资源利用 引言 Gunicorn(Green Unicorn)是一个Python WSGI HTTP服务器,设计用来为Python web应用提供高效、可靠的服务。Gunicorn支持同步和异步工作模式,并且兼容多种Web框架。…

从零开学C++:类和对象(上)

引言:在学习了C的入门级知识之后,现在就让我们一起进入类和对象的学习吧,该知识点我将分为上,中,下三个部分对其进行讲解。 更多有关C语言和数据结构的知识详解可前往个人主页:计信猫 目录 一,类…

通过实例说明.NET Autofac依赖注入的多种方式

Autofac提供了多种灵活的依赖注入方式,包括但不限于构造函数注入、属性注入、方法注入、字段注入、元数据注入和动态参数注入。根据具体的需求选择合适的注入方式,可以有效地管理对象的依赖关系和生命周期 构造函数注入 构造函数注入(Const…

CSS 【详解】自定义属性(又名 CSS 变量)

声明变量 - - 变量命名规则 支持数字命名支持使用短横线和空格命名支持中文等CJK文字不支持包含$、[、]、^、(、)、%、"等特殊字符的命名,要使用这些特殊字符,需要使用反斜杠转义。 变量值 可以是任意值或表达式 --direction: to top;--gradient…

Android liveData 监听异常,fragment可见时才收到回调记录

背景&#xff1a;在app的fragment不可见的情况下使用&#xff0c;发现注册了&#xff0c;但是没有回调导致数据一直未更新&#xff0c;只有在fragment可见的时候才收到回调 // 观察通用信息mLightNaviTopViewModel.getUpdateCommonInfo().observe(this, new Observer<Common…

python 之修改host配置

背景&#xff1a;生产环境登录 test.ai.com &#xff0c;如果要登录验收的 test.ai.com 要改host配置&#xff0c;所以写了个python脚本 host生产环境配置为 # 192.163.0.0 test.ai.com host验收环境为 192.163.0.0 test.ai.com 不加host配置默认是生成哈 import os # C:…

[嵌入式 C 语言] 按位与、或、取反、异或

若协议中如下图所示&#xff1a; 注意&#xff1a; 长度为1&#xff0c;表示1个字节&#xff0c;也就是0xFF&#xff0c;也就是 1111 1111 &#xff08;这里0xFF只是单纯表示一个数&#xff0c;也可以是其他数&#xff0c;这里需要注意的是1个字节的意思&#xff09; 一、按位…

第三课网关作用

实验拓扑图&#xff1a; 基础配置&#xff1a; PC1的基础配置 PC2的基础配置&#xff1a; PC4的基础配置 AR1添加PC4网段: 并且添加pc1,pc2的网段。 并且添加pc1,pc2的网段。 原理&#xff1a;PC4先把数据交给100.100.100.1&#xff0c;交给了路由器&#xff0c;路由器再把数…

瑞萨RH850 RTC计时进位异常

RH850 MCU的RTC&#xff08;实时时钟&#xff09;采用BCD&#xff08;二进制编码的十进制&#xff09;编码格式&#xff0c;支持闰年自动识别&#xff0c;并具有秒、分、时、日、周、月、年的进位功能。其中&#xff0c;秒和分为60进位&#xff0c;时为12或24进位&#xff0c;周…

Qt Design Studio 4.5现已发布

Qt Design Studio现已强势回归&#xff0c;生产力和可用性均得到大幅提升。无论是直观的3D编辑界面&#xff0c;还是与Figma和Qt Creator的无缝连接&#xff0c;新版Qt Design Studio将为您带来更好的产品开发体验。快来深入了解Qt Design Studio的全新功能吧&#xff01; 为3…