简介

使用python的过程中肯定少不了读取文件的操作,

传统的形式是使用 直接打开、然后在操作、然后再关闭,

这样代码量稍微大些不说,一旦在操作步骤中出现报错,则无法进行文件的关闭;

案例一(读取)

首先创建一个我们要读写的txt文件

txt内容如下:

  1. z天赐复习文件读写
    博客园地址:https://www.cnblogs.com/ztcbug/

一、读取文件 基本实现

  1. f = open('test001.txt','r',encoding='utf-8') #open 是打开的意思,()中是要打开的文件路径 'r'是只读的方式打开,打开后赋值给f,如果读取文件有中文,encoding = utf-8是编码格式
  2. print(f.read()) #read是读取的意思,f,read() 是读取f里的所有数据,然后print输出出来
  3. f.close() #读取后,然后再把打开的f 给关闭,close()是关闭的意思,切记一定要关闭

    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------
    返回结果如下

z天赐复习文件读写
博客园地址:https://www.cnblogs.com/ztcbug/

  1.  

这样的缺点是如果我们在关闭文件前出现了程序报错,那么打开后的文件就没有进行关闭

二、读取文件 中级实现

  1. try: #首先try一下,如果程序打开以及在打开后读取一系列操作后有报错,则不中断程序
  2. f = open('test001.txt','r',encoding='utf-8')
  3. file = f.read()
  4. print(file)
  5. finally: #无论try中的程序是否存在报错,则都执行下面的关闭
  6. if f: #判断下f是否打开了,如果没打开则不需要关闭,打开了则关闭
  7. f.close()

  1. ---------------------------------------------------------------------------------------------------------------------------------------------------------------------
    返回结果如下

z天赐复习文件读写
博客园地址:https://www.cnblogs.com/ztcbug/

可以看到这次对基本实现进行了优化,无论是否报错,我们都对打开后的文件进行了关闭

三、读取文件 终极实现

上面那种虽然好,但是代码太不简洁了,我们可以用with open的方式来写

  1. with open('test001.txt','r',encoding='utf-8') as f:
  2. file = f.read()
  3. print(file)

  1. ---------------------------------------------------------------------------------------------------------------------------------------------------------------------
    返回结果如下

z天赐复习文件读写
博客园地址:https://www.cnblogs.com/ztcbug/

案例二(写入)

一、写入文件 基本实现

还是用咱们刚才那个文件,刚才那个文件里的内容是 :

  1. z天赐复习文件读写
  2. 博客园地址:https://www.cnblogs.com/ztcbug/

此时我们重新给这个文件 写入数据

  1. f = open('test001.txt','w',encoding='utf-8') #open 打开要写入的文件,'w'就是写入的意思,如果有中文encoding进行编码
  2. f.write('今天北京的天气非常好!!!!') #write是写入的意思,将()中的内容写入到f文件里
  3. f.close() #写入完进行关闭

然后此时我们去看看 test001.txt  这个文件中的内容

写入成功

一、写入文件终极实现

  1. with open('test001.txt','w',encoding='utf-8') as f: #使用with方法
  2. f.write('今天去吃个黄焖鸡米饭!!!!') # 直接写入

    然后此时我们去看看 test001.txt  这个文件中的内容

  1.  
  1.  

python读写文件with open的更多相关文章

  1. Python读写文件

    Python读写文件1.open使用open打开文件后一定要记得调用文件对象的close()方法.比如可以用try/finally语句来确保最后能关闭文件. file_object = open('t ...

  2. [Python]读写文件方法

    http://www.cnblogs.com/lovebread/archive/2009/12/24/1631108.html [Python]读写文件方法 http://www.cnblogs.c ...

  3. Python读写文件实际操作的五大步骤

    Python读写文件在计算机语言中被广泛的应用,如果你想了解其应用的程序,以下的文章会给你详细的介绍相关内容,会你在以后的学习的过程中有所帮助,下面我们就详细介绍其应用程序. 一.打开文件 Pytho ...

  4. python的re模块一些方法 && Tkinter图形界面设计 && 终止python运行函数 && python读写文件 && python一旦给字符串赋值就不能单独改变某个字符,除非重新给变量赋值

    Tkinter图形界面设计见:https://www.cnblogs.com/pywjh/p/9527828.html#radiobutton 终止python运行函数: 采用sys.exit(0)正 ...

  5. Python 读写文件的正确方式

    当你用 Python 写程序时,不论是简单的脚本,还是复杂的大型项目,其中最常见的操作就是读写文件.不管是简单的文本文件.繁杂的日志文件,还是分析图片等媒体文件中的字节数据,都需要用到 Python ...

  6. python 读写文件和设置文件的字符编码

    一. python打开文件代码如下: f = open("d:\test.txt", "w") 说明:第一个参数是文件名称,包括路径:第二个参数是打开的模式mo ...

  7. Python读写文件乱码问题

    对开发者来说,最恼人的问题之一莫过于读写文件的时候,由于编码千差万别,出现乱码问题.好难快速解决啊... 最近我也遇到了这样的问题,经研究,把大致的解决思路拿出来共享. 1. python中习惯首先声 ...

  8. 从用python自动生成.h的头文件集合和类声明集合到用python读写文件

    最近在用python自动生成c++的类.因为这些类会根据需求不同产生不同的类,所以需要用python自动生成.由于会产生大量的类,而且这些类是变化的.所以如果是在某个.h中要用include来加载这些 ...

  9. Python 读写文件操作

    python进行文件读写的函数是open或file file_handler = open(filename,,mode) Table mode 模式 描述 r 以读方式打开文件,可读取文件信息. w ...

  10. python读写文件字符集

    操作I/O的能力是由操作系统的提供的,每一种编程语言都会把操作系统提供的低级C接口封装起来供开发者使用,Python也不例外.  读写文件是需要请求操作系统去操作磁盘的  所以默认的编码就是你平台的编 ...

随机推荐

  1. 如何通过云效Flow完成自动化构建—构建集群

    如何通过云效Flow完成自动化构建-构建集群,云效流水线Flow是持续交付的载体,通过构建自动化.集成自动化.验证自动化.部署自动化,完成从开发到上线过程的持续交付.通过持续向团队提供及时反馈,让交付 ...

  2. Http Only Cookie保护AccessToken

    前言 JWT认证方式目前已被广泛使用,一直以来我们将token放在请求头中的Authorization中,若通过此种方式,一旦token被恶意窃取,攻击者可肆意对用户可访问资源进行任意索取,我们大多都 ...

  3. ldirectord

    试想,LVS作为前端负载均衡设备,当后端服务器宕机时,LVS还会把用户请求发送到该服务器上,这对用户体验来说是极其糟糕的,因为用户的请求无法得到处理.那么是否有一种机制,能保证后端服务器的是否正常?或 ...

  4. C#开发BIMFACE系列42 服务端API之图纸对比

    BIMFACE二次开发系列目录     [已更新最新开发文章,点击查看详细] 在我的前一篇博客<C#开发BIMFACE系列42 服务端API之图纸对比>中详细介绍了BIMFACE服务端接口 ...

  5. 中国唯一入选 Forrester 领导者象限,阿里云 Serverless 全球领先

    3 月 26 日消息,权威咨询机构 Forrester 发布 2021 年第一季度 FaaS 平台评估报告,阿里云函数计算凭借在产品能力.安全性.战略愿景和市场规模等方面的优势脱颖而出,产品能力位列全 ...

  6. .NET下使用ufun函数取CAM操作的进给速度

    UF_PARAM_ask_subobj_ptr_value,这个函数在封装的时候,给了很大一个坑啊. NXOpen.UF.UFParam.AskSubobjPtrValue(ByVal param_t ...

  7. python打印爱心

    print('\n'.join([''.join([('AndyLove'[(x-y)%8]if((x*0.05)**2+(y*0.1)**2-1)**3-(x*0.05)**2*(y*0.1)**3 ...

  8. 第32篇-解析interfacevirtual字节码指令

    在前面介绍invokevirtual指令时,如果判断出ConstantPoolCacheEntry中的_indices字段的_f2属性的值为空,则认为调用的目标方法没有连接,也就是没有向Constan ...

  9. picGo+gitee搭建Obsidian图床,实现高效写作

    1 picGo安装 [picgo下载链接](https://molunerfinn.com/PicGo/) 选择安装目录,可以选择安装在D:\Program Files 然后点击安装即可 2. git ...

  10. Veritas Backup Exec™ 21.3 Multilingual (Windows)

    Backup Exec 21.3, Release date: 2021-09-06 请访问原文链接:https://sysin.org/blog/veritas-backup-exec-21-3/, ...