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
0
投稿
猜你喜欢
- 每次和朋友聊天苦于没有表情包,而别人的表情包似乎是取之不尽、用之不竭。作为一个程序员哪能甘愿认输,于是做了一个表情包下载器供大家斗图。首先,
- 在实现算法的时候,通常会从两方面考虑算法的复杂度,即时间复杂度和空间复杂度。顾名思义,时间复杂度用于度量算法的计算工作量,空间复杂度用于度量
- 认识模块对于模块,在前面的一些举例中,已经涉及到了,比如曾经有过:import random (获取随机数模块)。为了能够对模块有一个清晰的
- 前言在对DataFrame数据进行处理时,存在需要对数据内容进行遍历的场景。因此记录一下按照行,列遍历的几种方式。一、按行遍历1. 使用lo
- 数据类型计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值。但是,计算机能处理的远不止数值,还可以处理文本、
- Tip:本文仅供学习与交流,切勿用于非法用途!!!背景介绍有个同学问我:“XXX,有没有办法搜集一下淘宝的商品信息啊,我想要做个统计”。于是
- CSS样式和JavaScript脚本是应该放在外部文件中呢?还是把它们放在页面本身之内呢?如何处理是关于一些性能规则的思维,就这些问题,我们
- 安装selenium打开命令控制符输入:pip install -U selenium火狐浏览器安装firebug:www.firebug.
- 在表中有两个字段:id_no (varchar) , in_date (datetime) ,把in_date相同的记录的in_date依次
- 整理了一些JS的常用方法,包括验证啊,全选反选啊,ajax请求啊之类的,因为就是自己用的,写的都比较简单,就算抛砖引玉吧,喜欢的就拿去,不喜
- 现在大家学习python掌握内容了解太多太多,但是最重要的不是掌握了解算法的使用,而是了解算法原理远比使用算法命令更重要,现在大家了解算法应
- 这次用Python实现的是一个接球打砖块的小游戏,需要导入pygame模块,有以下两条经验总结:1.多父类的继承2.碰撞检测的数学模型知识点
- 一、背景平时工作中经常需要使用各种尺寸、格式的图片来做测试,每次从百度或者谷歌找图都非常麻烦,于是就想作为一个程序员怎么能被这个问题影响效率
- 本文探讨了提高MySQL数据库性能的思路,并从8个方面给出了具体的解决方法。1、选取最适用的字段属性MySQL可以很好的支持大数据量的存取,
- 概述Base64 是网络上最常见的用于传输 8Bit 字节码的编码方式之一,Base64 就是一种基于 64 个可打印字符来表示二进制数据的
- 这里提供三种方法:1,使用正则表达式Function regKillHTML(str) &nb
- 在了解装饰器之前,我们需要知道什么闭包是什么鬼!闭包:在一个函数内定义了一个函数f,并且这个函数f引用外部变量,在把这个函数f当做返回值返回
- 1.不装入数据库而启动事例 可以不装入数据库而启动事例,一般是在数据库才创建时才可以这样做:STARTUP NOMOUNT2.启动事例并装入
- 我正在参加天池上的一个竞赛,刚开始用的是DenseNet121但是效果没有达到预期,因此开始尝试使用模型融合,将Desenet和Xcepti
- 1.使用jobsName.ini文件保存要创建job的名字jobs1jobs2jobs32.使用Jenkins创建job时自动生成的conf