python读写文件with open的介绍
作者:z天赐 发布时间:2022-04-03 22:19:34
标签:python,读写,文件with,open
简介:
使用python
的过程中肯定少不了读取文件的操作,传统的形式是使用 直接打开、然后在操作、然后再关闭,这样代码量稍微大些不说,一旦在操作步骤中出现报错,则无法进行文件的关闭;
一、案例一(读取)
首先创建一个我们要读写的txt文件
txt内容如下:
z天赐复习文件读写
博客园地址:https://www.cnblogs.com/ztcbug/
1、读取文件 基本实现
f = open('test001.txt','r',encoding='utf-8') #open 是打开的意思,()中是要打开的文件路径 'r'是只读的方式打开,打开后赋值给f,如果读取文件有中文,encoding = utf-8是编码格式
print(f.read()) #read是读取的意思,f,read() 是读取f里的所有数据,然后print输出出来
f.close() #读取后,然后再把打开的f 给关闭,close()是关闭的意思,切记一定要关闭
返回结果如下:
z天赐复习文件读写
博客园地址:https://www.cnblogs.com/ztcbug/
这样的缺点是如果我们在关闭文件前出现了程序报错,那么打开后的文件就没有进行关闭
2、读取文件 中级实现
try: #首先try一下,如果程序打开以及在打开后读取一系列操作后有报错,则不中断程序
f = open('test001.txt','r',encoding='utf-8')
file = f.read()
print(file)
finally: #无论try中的程序是否存在报错,则都执行下面的关闭
if f: #判断下f是否打开了,如果没打开则不需要关闭,打开了则关闭
f.close()
返回结果如下:
z天赐复习文件读写
博客园地址:https://www.cnblogs.com/ztcbug/
可以看到这次对基本实现进行了优化,无论是否报错,我们都对打开后的文件进行了关闭
3、读取文件 终极实现
上面那种虽然好,但是代码太不简洁了,我们可以用with open
的方式来写
with open('test001.txt','r',encoding='utf-8') as f:
file = f.read()
print(file)
返回结果如下:
z天赐复习文件读写
博客园地址:https://www.cnblogs.com/ztcbug/
二、案例二(写入)
1、、写入文件 基本实现
还是用咱们刚才那个文件,刚才那个文件里的内容是 :
z天赐复习文件读写
博客园地址:https://www.cnblogs.com/ztcbug/
此时我们重新给这个文件 写入数据:
f = open('test001.txt','w',encoding='utf-8') #open 打开要写入的文件,'w'就是写入的意思,如果有中文encoding进行编码
f.write('今天北京的天气非常好!!!!') #write是写入的意思,将()中的内容写入到f文件里
f.close() #写入完进行关闭然后此时我们去看看
test001.txt
这个文件中的内容
写入成功!
2、写入文件终极实现
with open('test001.txt','w',encoding='utf-8') as f: #使用with方法
f.write('今天去吃个黄焖鸡米饭!!!!') # 直接写入
然后此时我们去看看 test001.txt 这个文件中的内容
来源:https://www.cnblogs.com/ztcbug/p/15584263.html


猜你喜欢
- 在看视频教程的时候提到了[{'a' : 97}, {'b' : 98}, {'c' : 99
- 本文实例分析了PHP中怎样防止SQL注入。分享给大家供大家参考。具体分析如下:一、问题描述:如果用户输入的数据在未经处理的情况下插入到一条S
- 根据"客服果果"的"十几行的超简日历组件"http://bbs.51js.com/viewthrea
- 操作系统: CentOS 6.9_x64go语言版本: 1.8.3问题描述golang的log模块提供的有写日志功能,示例代码如下:/*go
- 1 运行SQLPLUS工具 sqlplus 2 以OS的默认身份连接 / as sysdba 3 显示当前用户名 show user 4 直
- 本文安装的是pytorch1.4版本(cpu版本)首先需要安装Anaconda是否需要安装基于cuda的PyTorch版本呢?对于普通笔记本
- /// <summary> /// 获得目标
- element-ui el-table组件自定义合计(summary-method)坑项目需要用到表格,带有合计功能的,照搬的element
- 我们想要知道数目的总和,只要通过+就能实现,这是我们在做题上经常用到的符号。但是在python中不能直接使用,我们需要借助一些代码或者函数帮
- 本文主要是利用scapy包编写了一个简易扫描工具,支持ARP、ICMP、TCP、UDP发现扫描,支持TCP SYN、UDP端口扫描,如下:u
- 前言本文的主要内容是使用 cpu 版本的 tensorflor-2.1 完成对 Auto MPG 数据集的回归预测任务。获取 Auto MP
- 二分查找算法:简单的说,就是将一个数组先排序好,比如按照从小到大的顺序排列好,当给定一个数据,比如target,查找target在数组中的位
- 本文实例讲述了Python封装原理与实现方法。分享给大家供大家参考,具体如下:【封装】 隐藏对象的属性和实现细节,仅对外提供公共访
- 本文实例为大家分享了Python实现名片管理系统的具体代码,供大家参考,具体内容如下目标综合应用已经学习过的知识点:变量流程控制函数模块系统
- 本文实例讲述了Python创建xml的方法。分享给大家供大家参考。具体实现方法如下:from xml.dom.minidom import
- 该语言中缩进是其精髓,通过缩进可以表示函数、循环等程序结构的范围。有时写完程序后,发现所有程序需要放入函数def中,这时就需要对一整块程序同
- 从其他语言转入Go语言的同学经常会陷入一个思考:如何创建一个单例?有些同学可能会把其它语言中的双检锁模式移植过来,双检锁模式也称为懒汉模式,
- 前言:最近在学习PYQT5,感觉还挺有趣的,顺便记录一下自己的打包记录,也就当学习笔记啦,如果刚好也在学习python打包的小伙伴可以学一学
- Laravel 的上一个 LTS(长期支持)版本是 Laravel 5.1,发布于 2015 年 6 月,按照对 LTS 版本的约定,两年的
- 代码如下:CREATE TABLE #tmptb(tbname sysname,tbrows int ,tbREserved varchar