当前位置: 首页 > news >正文

Python-文件操作详解

打开文件
写文件
读文件
关闭文件

1、打开文件:open #返回值是一个文件对象类型
open('文件路径',‘打开方式’)
打开方式有:r w a
r:表示read,按照读方式打开
w表示write,按照写方式打开
a表示append,写方式打开,把内容写到原有文件内容的末尾

当文件不存在,以r读方式打开,出错

f = open('c:/Users/27398/PycharmProjects/pythonProject/test.txt','w')
print(type(f))
f.write("hello")
print(f)
f.close()

open的返回值是一个文件对象,怎么理解?
文件的内容是硬盘上的,此处的文件对象,则是内存上的一个变量
后续的读写操作都是拿着这个文件对象进行,
此处的文件对象可以理解为一个遥控器,通过对遥控器操控来对硬盘上的内容操作

在计算机中,把这样的远程操作的“遥控器”叫做‘句柄’(handle)


1、关闭文件
文件打开之后一定要关闭
因为打开文件其实实在申请一定的系统资源
不再使用要及时释放
如果不关闭,就会造成文件资源泄露,导致其他代码无法再顺论打开文件
而系统的资源有限,所以一个程序所能打开的文件个数是有限的
f.close

每个文件启动的时候都会默认打开三个文件:
1、标准输入 键盘
2、标准输出 显示器
3、标准错误 显示器 

python回收机制:不用的变量回收(GC机制)释放


3、写文件
有两种打开方式
1、w方式,但是如果f.wirte会把原来文件的内容清空

f = open('c:/Users/27398/PycharmProjects/pythonProject/test.txt','w')


2、a方式,可以正常添加,不会清空,在原来基础上加上

f = open('c:/Users/27398/PycharmProjects/pythonProject/test.txt','a')

如果文件对象已经关闭,意味着系统中和该文件相关的内存资源已经被释放,不能写操作,强行写,报错


 

相关文章:

  • 一对一互相聊天
  • 【多线程】线程的三种常见创建方式
  • jenkins-cicd基础操作
  • SpringBoot第56讲:SpringBoot集成文件 - 集成EasyExcel之Excel导入导出
  • php中WebSocket简单使用
  • 外包干了2个多月,技术明显有退步了。。。。。
  • Day52力扣打卡
  • 拨号连接bat命令和拨号错误623,系统无法找到此连接的电话簿项的解决方法
  • JavaWeb(二)
  • 小纸条..
  • MATLAB 系统辨识 - 在线估计 - Online Estimation
  • c语言上机小练(有点难)
  • Golang实践录:读取toml配置
  • 免费的AI智能改写工具,让你的文章每一篇都是原创
  • ES6中的Promise
  • “Material Design”设计规范在 ComponentOne For WinForm 的全新尝试!
  • Android 控件背景颜色处理
  • CODING 缺陷管理功能正式开始公测
  • const let
  • Date型的使用
  • Effective Java 笔记(一)
  • ES6核心特性
  • golang 发送GET和POST示例
  • Java精华积累:初学者都应该搞懂的问题
  • PaddlePaddle-GitHub的正确打开姿势
  • Rancher如何对接Ceph-RBD块存储
  • Sass 快速入门教程
  • Traffic-Sign Detection and Classification in the Wild 论文笔记
  • vue从创建到完整的饿了么(18)购物车详细信息的展示与删除
  • 聊聊flink的TableFactory
  • 前端之Sass/Scss实战笔记
  • 实现简单的正则表达式引擎
  • 使用SAX解析XML
  • 视频flv转mp4最快的几种方法(就是不用格式工厂)
  • 微服务入门【系列视频课程】
  • 译自由幺半群
  • 函数计算新功能-----支持C#函数
  • ​MPV,汽车产品里一个特殊品类的进化过程
  • ​马来语翻译中文去哪比较好?
  • #中国IT界的第一本漂流日记 传递IT正能量# 【分享得“IT漂友”勋章】
  • $.ajax,axios,fetch三种ajax请求的区别
  • $con= MySQL有关填空题_2015年计算机二级考试《MySQL》提高练习题(10)
  • (3)Dubbo启动时qos-server can not bind localhost22222错误解决
  • (9)目标检测_SSD的原理
  • (第9篇)大数据的的超级应用——数据挖掘-推荐系统
  • (附源码)ssm高校升本考试管理系统 毕业设计 201631
  • (亲测)设​置​m​y​e​c​l​i​p​s​e​打​开​默​认​工​作​空​间...
  • (小白学Java)Java简介和基本配置
  • (转) ns2/nam与nam实现相关的文件
  • (转)真正的中国天气api接口xml,json(求加精) ...
  • .describe() python_Python-Win32com-Excel
  • .Net MVC4 上传大文件,并保存表单
  • .net redis定时_一场由fork引发的超时,让我们重新探讨了Redis的抖动问题
  • .NET/C# 在 64 位进程中读取 32 位进程重定向后的注册表
  • .net流程开发平台的一些难点(1)