python小课堂39 - 用 with 优雅的读写文件

前言

本篇来介绍一下 Python 中的关键词 with 的小技巧。但是在了解 with 之前,需要先了解一下如何使用 Python 对文件进行读写操作。

在了解基本的文件读写操作后,在使用 with 对其进行优雅的操作。写出符合 Pythonic 的代码。

对文件的读写操作

1. 读文件在 Python 中,有一个函数 open ,就像英语中描述的一样,具有打开的意思,先来看下函数详情:

open(name[, mode[, buffering]])

name : 一个包含了你要访问的文件名称的字符串值。

mode : mode 决定了打开文件的模式:只读,写入,追加等。所有可取值见如下的完全列表。这个参数是非强制的,默认文件访问模式为只读(r)。

buffering : 如果 buffering 的值被设为 0,就不会有寄存。如果 buffering 的值取 1,访问文件时会寄存行。如果将 buffering 的值设为大于 1 的整数,表明了这就是的寄存区的缓冲大小。如果取负值,寄存区的缓冲大小则为系统默认。

菜鸟教程

首先,在 py 文件的同目录下创建一个1.txt的文本,对其进行读取:

只需要,两行代码,即可操作文件:

f = open('./1.txt', 'r', encoding='utf-8') # 获取文件对象

print(f.read()) # 读取文件内容

f.close() # 释放资源

解释下代码,通过 open 函数获得到一个文件对象,其中第一个参数传入文件路径,第二个参数使用 ‘r’ (read) 模式,第三个参数是使用utf-8 编码进行文件读取。读取完成后,需要关闭资源。

注意:如果你指定的文件路径不存在,则会报错 IOError 错误,可自行尝试。

2. 写文件

写文件,只需要改变模式参数即可,其余参数不需要改变,代码如下:

f = open('./1.txt', 'w', encoding='utf-8') # 写文件

f.write('abdc') # 具体什么内容写到文件

f

python用with读文件的好处_python小课堂39 - 用 with 优雅的读写文件相关推荐

  1. python获取键盘输入_Python 3 学习笔记之——键盘输入和读写文件

    1. 键盘输入 Python提供了 input() 内置函数从标准输入读入一行文本,默认的标准输入是键盘.input 可以接收一个 Python 表达式作为输入,并将运算结果返回. str = inp ...

  2. python爬取微博数据存入数据库_Python爬取新浪微博评论数据,写入csv文件中

    因为新浪微博网页版爬虫比较困难,故采取用手机网页端爬取的方式 操作步骤如下: 1. 网页版登陆新浪微博 2.打开m.weibo.cn 3.查找自己感兴趣的话题,获取对应的数据接口链接 4.获取cook ...

  3. python导入不在同一路径的函数_Python小课堂|模块

    Python3   模块 在前面的几个章节中我们脚本上是用 python 解释器来编程,如果你从 Python 解释器退出再进入,那么你定义的所有的方法和变量就都消失了. 为此 Python 提供了一 ...

  4. python 对象_Python小课堂面向对象

    Python3 面向对象 Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的.本章节我们将详细介绍Python的面向对象编程. 如果你以前没有接触 ...

  5. 与python相关的爬虫工具_python小课堂|爬虫工程师必备的10个python爬虫工具!

    [摘要]在这个科学技术高速发展的时代,越来越多的人都开始选择学习编程软件,那么首先被大家选择的编程软件就是python,也用在各行各业之中,并被大家所熟知,所以也有越来越多的python学习者关注py ...

  6. python导入同级包_python小课堂15 - 史上最详细的包和模块import讲解篇

    python小课堂15 - 史上最详细的包和模块import讲解篇 前言 在大量的代码设计中,我们不可能将所有代码都写在一个.py文件,所以有了包.模块,而为了代码可以重复利用(复用性),就有了类.函 ...

  7. python 引入同一路径的类_python小课堂15 - 史上最详细的包和模块import讲解篇

    python小课堂15 - 史上最详细的包和模块import讲解篇 前言 在大量的代码设计中,我们不可能将所有代码都写在一个.py文件,所以有了包.模块,而为了代码可以重复利用(复用性),就有了类.函 ...

  8. python print 换行_Python小课堂第21课:规整一下我们的输出之打印格式化与字符串...

    整齐的输出,不仅美观,还能方便我们更容易的定位问题的重点.所以我们有必要将我们的输出内容美化一下! 请点击右上角"关注"按钮关注我们,跟着木辛老师深入浅出的掌握输出格式化的方法吧! ...

  9. python不等于_Python小课堂|注释+运算符

    注释 确保对模块, 函数, 方法和行内注释使用正确的风格 Python中的注释有单行注释和多行注释: Python中单行注释以 # 开头,例如: # 这是一个注释 print("Hello, ...

最新文章

  1. Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结
  2. .call() 与 .apply() 的用法及区别
  3. DHL出台货运新方案
  4. CNN框架的搭建及各个参数的调节
  5. 耗时n年,38页《数据仓库知识体系.pdf》(数据岗位必备)
  6. CVPR 2020 论文大盘点-文本图像篇
  7. 可以自定义公式的计算器_Excel万能个税计算器,税率对比显示,自定义增税点自动计算结果...
  8. python将两个list类型的全排列转换为tuple类型
  9. android如何查看cpu的占用率和内存泄漏
  10. 浅谈URI和URL的区别
  11. HTML <progress>标签
  12. FMI飞马网【线上直播】大数据安全实践
  13. Huffman文件压缩之文件夹压缩
  14. 磨金石教育摄影技能干货分享|那些酷炫的照片是怎么拍出来的?
  15. 正则表达式,匹配数字
  16. Kafka 的 Java 消费者如何管理 TCP 连接?
  17. 棒棒的二维数据可视化分类模型
  18. swift linux编译器,Linux平台Swift语言开发学习环境搭建
  19. 6-1 Point类的运算 (10 分)
  20. 什么PDF在线压缩器好用,怎么操作?

热门文章

  1. OPPO A59S怎么刷机 OPPO A59S的刷机教程 OPPO A59S完美解除账号锁
  2. 比尔·盖茨夫妇究竟为何离婚?官宣不想让巴菲特为难|海外头条 - 专栏 - 创业邦
  3. octave运行matlab函数,机器学习-线性回归以及MATLAB octave实现
  4. 机器学习【1.预测房价】
  5. android高通i2c/cci控制没有寄存器地址的马达/设备
  6. 【sqlite】联查Join更新
  7. Android 通过串口获取设备号 android串口测试工具 完整解析
  8. 基于stm32单片机多功能可调时钟闹钟万年历计时器闹铃提醒Proteus仿真(源码+仿真+原理图+PCB)
  9. java定时器timer配置_java定时器配置解析
  10. registerReceiver 动态注册与 sendBroadcast 源码解析