文件操作完成后,需要调用 close 方法将文件关闭。通常,程序退出时将自动关闭文件对象(也可能在退出程序前这样做),因此是否将读取的文件关闭并不那么重要。然而,关闭文件没有坏处,在有些操作系统和设置中,还可避免无意义地锁定文件以防修改。另外,这样做还可避免用完系统可能指定的文件打开配额。
对于写入过的文件,一定要将其关闭,因为 Python 可能缓冲你写入的数据(将数据暂时存储在某个地方,以提高效率)。因此如果程序因某种原因崩溃,数据可能根本不会写入到文件中。安全的做法是,使用完文件后就将其关闭。如果要重置缓冲,让所做的修改反映到磁盘文件中,但又不想关闭文件,可使用方法 flush。然而,需要注意的是,根据使用的操作系统和设置,flush 可能出于锁定考虑而禁止其他正在运行的程序访问这个文件。只要能够方便地关闭文件,就应将其关闭。
要确保文件得以关闭,可使用一条 try/finally 语句,并在 finally 子句中调用 close。

# 打开文件
try: # 将数据写入到文件中
finally: file.close()

实际上,有一条专门为此设计的语句,那就是with语句。

with open("somefile.txt") as somefile: do_something(somefile)

with 语句让你能够打开文件并将其赋给一个变量(这里是somefile)。在语句体中,你将数据写入文件(还可能做其他事情)。到达该语句末尾时,将自动关闭文件,即便出现异常亦如此。

Python关闭文件相关推荐

  1. python关闭文件的函数_python打开与关闭文档

    打开和关闭文件 现在,您已经可以向标准输入和输出进行读写.现在,来看看怎么读写实际的数据文件. Python 提供了必要的函数和方法进行默认情况下的文件基本操作.你可以用 file 对象做大部分的文件 ...

  2. python关闭文件的方法_Python xlrd.Book:如何关闭文件?

    我在一个循环中读取了150个excel文件,用xlrd.open_workbook()打开它们,它返回一个Book对象.最后,当我试图umount音量,我无法,当我与lsof检查,我发现文件6仍然开放 ...

  3. python关闭文件的方法_python中xlsx文件怎么关闭

    python是一款使用人数非常多的编程语言,它的功能也十分强大,xlsx是一种excel表格,接下来没我教大家如何使用python关闭已经打开的xlsx文件. 工具/原料 python pycharm ...

  4. python关闭文件os_如何关闭使用os.startfile(),Python 3.6打开的文件

    I want to close some files like .txt, .csv, .xlsx that I have opened using os.startfile(). I know th ...

  5. python关闭文件os_python_文件的打开和关闭

    文件对象 = open('文件名','使用方式') rt:读取一个txt文件 wt: 只写打开一个txt文件,(如果没有该文件则新建该文件)会覆盖原有内容 at:打开一个txt文件,并从文件指针位置追 ...

  6. python关闭读写的所有的文件-Python文件操作:文件的打开关闭读取写入

    Python文件操作:文件的打开关闭读取写入 一.文件的打开关闭 Python能以文本和二进制两种方式处理文件,本文主要讨论在Python3中文本文件的操作. 文件操作都分为以下几个步骤: 1.打开文 ...

  7. python关闭读写的所有的文件-Python读写txt文本文件的操作方法全解析

    一.文件的打开和创建 >>> f = open('/tmp/test.txt') >>> f.read() 'hello python! hello world! ...

  8. 22 Python IO、打印到屏幕、读取键盘输入、打开和关闭文件、文件定位、重命名和删除文件、Python里的目录、文件,目录相关的方法

    22Python文件I/O 22.1打印到屏幕 最简单的输出方法是用print语句,你可以给它传递零个或多个用逗号隔开的表达式.此函数把你传递的表达式转换成一个字符串表达式,并将结果写到标准输出如下: ...

  9. python写入一个文件之前可以不打开_如何用python实现真正的打开和关闭文件

    file_name:file_name变量是一个包含了你要访问的文件名称的字符串值. access_mode:access_mode决定了打开文件的模式:只读,写入,追加等.所有可取值见如下的完全列表 ...

最新文章

  1. usb打印机linux识别不了怎么办,win10不识别usb打印机怎么回事_win10系统不识别usb打印机如何修复-系统城...
  2. 卓越性能代码_编程语言性能实测,Go比Python更胜一筹?
  3. ContestHunter暑假欢乐赛 SRM 08
  4. c language compile process.
  5. TVP两周年:携手同行,让未来可见
  6. python中的tkinter模块
  7. 编程中的21个坑,你占几个?
  8. 在线字符串长度计算,字符串统计工具
  9. ssh连接失败,排错经验
  10. linux centos history 查看命令历史 显示时间戳
  11. 统计系统所有进程总共占用多少内存
  12. 主板24pin接口详图_特殊装机:24pin主板用20pin的供电
  13. 中证500指数的跟踪基金最近1年收益排名
  14. 牛顿冷却定律,衰减因子alpha
  15. html 带箭头的提示框,css实现对话框-带箭头提示框
  16. 反欺诈之路——黑卡、养卡的识别
  17. 苹果屏幕录制没有声音_有没有简单实用的屏幕录制软件推荐?
  18. NumPy的数组对象:ndarray
  19. Go字符串拼接的方式与性能对比
  20. 信号完整性入门笔记一-细解为什么低频信号在较短传输线不考虑反射?

热门文章

  1. 求华氏温度100c语言程序,C语言程序设计答案
  2. 初入职场必备丨二进制面试问题汇总
  3. linux 多个条件查询,linux中怎么条件查询
  4. 【2022最新Java面试宝典】—— Tomcat面试题(15道含答案)
  5. 贺岁喜庆手绘插画|牛年主题,新年春节年味素材
  6. [附源码]Python计算机毕业设计SSM基于微信的基层党建信息系统(程序+LW)
  7. spark-参数配置总结
  8. Python——异常处理
  9. js计算时间差(小时和分钟)demo效果
  10. android 自动生成id,《转载》生成Android设备的唯一ID