python:如果我在关闭文件之前退出,打开的文件会发生什么?

标签 python

我正在打开一个 csv 文件:

def get_file(start_file): #opens original file, reads it to array
  with open(start_file,'rb') as f:
    data=list(csv.reader(f))
    header=data[0]
    counter=collections.defaultdict(int)
    for row in data:
      counter[row[10]]+=1
  return (data,counter,header)

如果我在 WITH 循环中退出程序,文件是否保留在内存中?

当我退出程序而不将所有变量都设置为 NULL 时,程序中的一般变量会发生什么情况?

最佳答案

当您的进程终止时,操作系统将自动关闭所有打开的文件描述符。

存储在内存中的文件数据(例如变量、Python 缓冲区)将丢失。当文件隐式关闭时,操作系统中缓冲的数据可能会刷新到磁盘(在此处检查内核脏缓冲区的确切语义将具有教育意义,但您不应该依赖它)。

当您的进程终止时,您的变量将不复存在。

关于python:如果我在关闭文件之前退出,打开的文件会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3407522/

相关文章:

python - 为什么我的 Python 正则表达式 anchor 无法在多行字符串上正常工作?

python - 覆盖 django 管理员身份验证

python - 如何在 OpenCV 中将 16 位图像转换为 8 位图像?

python - 类型错误 : 'class' object is not callable

python - 使用 python 将字典或 JSON 文件列表导入 Elasticsearch

python - 自定义距离的距离矩阵

python - 在 Python 中,如何在重新加载后更改实例化对象?

Python 重复循环文件以将记录与用户输入进行匹配

python - 将 matplotlib 矩形边缘设置为指定宽度之外?

python - 在 python 中将数据分类到 bin 的有效方法