为什么要在Python中关闭文件?

杰西卡:

通常,当我打开文件时,我从不调用该close()方法,并且不会发生任何不良情况。但是有人告诉我这是不好的做法。这是为什么?

火箭101:

在大多数情况下,不关闭文件是一个坏主意,原因如下:

  1. 它会将您的程序放在垃圾收集器的手中-尽管理论上该文件将自动关闭,但可能不会关闭。Python 3和Cpython通常在垃圾收集方面做得很好,但并非总是如此,其他变体通常也很烂。

  2. 它可能会降低您的程序速度。打开的东西太多,因此RAM中更多的已用空间将影响性能。

  3. 在大多数情况下,在关闭文件后,python中文件的许多更改才会生效,因此,如果脚本进行编辑,保持打开状态并读取文件,则看不到编辑内容。

  4. 从理论上讲,您可以运行到可以打开多少个文件的限制。

  5. 如下面的@sai所述,Windows将打开的文件视为已锁定,因此合法的内容(如AV扫描仪或其他python脚本)无法读取该文件。

  6. 这是草率的编程(再次,我并不是最想记住自己关闭文件的人!)

希望这可以帮助!

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Python

为什么要在gensim word2vec中创建多个模型文件?

来自分类Python

我为什么要在PATH中添加python

来自分类Dev

为什么要在init()中检查nil

来自分类Java

为什么JDBC连接需要在finally块中关闭?

来自分类Dev

为什么要在RabbitMQ中声明交换?

来自分类Dev

为什么要在python中手动运行垃圾回收?

来自分类Dev

为什么我需要在Promise .then()中关闭?

来自分类Dev

为什么要在Python的虚拟环境中创建requirements.txt文件?

来自分类Dev

Nuget为什么要在项目的父文件夹中创建“ Packages”文件夹?

来自分类Dev

为什么我需要在此csv文件中添加引号?

来自分类Dev

为什么要在非中央存储库中获取原型,必须使用配置文件?

来自分类Dev

为什么要在Web配置中使用customErrors模式“关闭”?

来自分类Dev

为什么我要在Python中运行一个额外的线程?

来自分类Dev

为什么Python导出文件没有关闭?

来自分类Dev

为什么要在Python中获得额外的条形图?

来自分类Dev

在Python中关闭文件

来自分类Dev

为什么我需要在Powershell配置文件中运行`ssh-add`?

来自分类Dev

为什么我需要时间来关闭流中的文件

来自分类Dev

为什么在python中无法关闭?

来自分类Dev

为什么要在多个cpp文件中包含相同的标头,然后进行编译?

来自分类Dev

为什么要在c(Linux)中执行权限以及创建文件所需的写入权限?

来自分类Dev

为什么类型/类统一主要在python中

来自分类Dev

为什么要在配置文件中声明<mvc:resources>

来自分类Dev

为什么需要在结构中填充?

来自分类Dev

为什么需要在“最终”内关闭文件并仍将其嵌入在“尝试/捕获”块内?

来自分类Dev

Windows Azure为什么要在所有CSS图片文件路径中添加“ / bundles /”?

来自分类Dev

为什么要在PE文件中创建不同的code / data / bss部分?

来自分类Dev

Ubuntu 14.04 backport中的systemd要在安装后删除许多文件-为什么?

来自分类Dev

为什么要在函数的参数中赋值?

Related 相关文章

  1. 1

    为什么要在gensim word2vec中创建多个模型文件?

  2. 2

    我为什么要在PATH中添加python

  3. 3

    为什么要在init()中检查nil

  4. 4

    为什么JDBC连接需要在finally块中关闭?

  5. 5

    为什么要在RabbitMQ中声明交换?

  6. 6

    为什么要在python中手动运行垃圾回收?

  7. 7

    为什么我需要在Promise .then()中关闭?

  8. 8

    为什么要在Python的虚拟环境中创建requirements.txt文件?

  9. 9

    Nuget为什么要在项目的父文件夹中创建“ Packages”文件夹?

  10. 10

    为什么我需要在此csv文件中添加引号?

  11. 11

    为什么要在非中央存储库中获取原型,必须使用配置文件?

  12. 12

    为什么要在Web配置中使用customErrors模式“关闭”?

  13. 13

    为什么我要在Python中运行一个额外的线程?

  14. 14

    为什么Python导出文件没有关闭?

  15. 15

    为什么要在Python中获得额外的条形图?

  16. 16

    在Python中关闭文件

  17. 17

    为什么我需要在Powershell配置文件中运行`ssh-add`?

  18. 18

    为什么我需要时间来关闭流中的文件

  19. 19

    为什么在python中无法关闭?

  20. 20

    为什么要在多个cpp文件中包含相同的标头,然后进行编译?

  21. 21

    为什么要在c(Linux)中执行权限以及创建文件所需的写入权限?

  22. 22

    为什么类型/类统一主要在python中

  23. 23

    为什么要在配置文件中声明<mvc:resources>

  24. 24

    为什么需要在结构中填充?

  25. 25

    为什么需要在“最终”内关闭文件并仍将其嵌入在“尝试/捕获”块内?

  26. 26

    Windows Azure为什么要在所有CSS图片文件路径中添加“ / bundles /”?

  27. 27

    为什么要在PE文件中创建不同的code / data / bss部分?

  28. 28

    Ubuntu 14.04 backport中的systemd要在安装后删除许多文件-为什么?

  29. 29

    为什么要在函数的参数中赋值?

热门标签

归档