python中打开的文件描述符

2024-01-12

当我在 IPython3 shell 中使用这段代码时

 >>>data = open('file').read()

然后检查打开的文件描述符:

 lsof | grep file

我发现空列表

当我使用这个时:

>>>open('file')

lsof显示两个项目。问题是为什么第一个操作关闭 fd 而第二个操作却没有?我认为垃圾收集器必须删除没有引用的文件对象。

当我重新分配值时,我知道解释器中的“_”var

>>>111
>>>_
111

但描述符保持开放状态。 当我重复

>>>open('file')

n次有2*n个打开的描述符


在第二个示例中,文件句柄由交互式解释器变量保留_,它允许您访问最后计算的表达式。如果您计算另一个表达式,例如1+1,您会注意到该文件不再由lsof一样开放。

正如 Mike Byers 所指出的,这种行为是 CPython 特有的,甚至是文件对象使用的精确环境。要确保无论代码如何执行,文件都会关闭,请使用with陈述:

with open('file') as fp:
    data = fp.read()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python中打开的文件描述符 的相关文章

  • 如何打印没有类型的defaultdict变量?

    在下面的代码中 from collections import defaultdict confusion proba dict defaultdict float for i in xrange 10 confusion proba di
  • Flask 和 uWSGI - 无法加载应用程序 0 (mountpoint='')(找不到可调用或导入错误)

    当我尝试使用 uWSGI 启动 Flask 时 出现以下错误 我是这样开始的 gt cd gt root localhost uwsgi socket 127 0 0 1 6000 file path to folder run py ca
  • 如何在Windows上模拟socket.socketpair

    标准Python函数套接字 套接字对 https docs python org 3 library socket html socket socketpair不幸的是 它在 Windows 上不可用 从 Python 3 4 1 开始 我
  • 如何等到 Excel 计算公式后再继续 win32com

    我有一个 win32com Python 脚本 它将多个 Excel 文件合并到电子表格中并将其另存为 PDF 现在的工作原理是输出几乎都是 NAME 因为文件是在计算 Excel 文件内容之前输出的 这可能需要一分钟 如何强制工作簿计算值
  • 为 pandas 数据透视表中的每个值列定义 aggfunc

    试图生成具有多个 值 列的数据透视表 我知道我可以使用 aggfunc 按照我想要的方式聚合值 但是如果我不想对两列求和或求平均值 而是想要一列的总和 同时求另一列的平均值 该怎么办 那么使用 pandas 可以做到这一点吗 df pd D
  • 从列表中的数据框列中搜索部分字符串匹配 - Pandas - Python

    我有一个清单 things A1 B2 C3 我有一个 pandas 数据框 其中有一列包含用分号分隔的值 某些行将包含与上面列表中的一项的匹配 它不会是完美的匹配 因为它在其中包含字符串的其他部分 该列 例如 该列中的一行可能有 哇 这里
  • 使用 Pycharm 在 Windows 下启动应用程序时出现 UnicodeDecodeError

    问题是当我尝试启动应用程序 app py 时 我收到以下错误 UnicodeDecodeError utf 8 编解码器无法解码位置 5 中的字节 0xb3 起始字节无效 整个文件app py coding utf 8 from flask
  • 在pyyaml中表示具有相同基类的不同类的实例

    我有一些单元测试集 希望将每个测试运行的结果存储为 YAML 文件以供进一步分析 YAML 格式的转储数据在几个方面满足我的需求 但测试属于不同的套装 结果有不同的父类 这是我所拥有的示例 gt gt gt rz shorthand for
  • Abaqus 将曲面转化为集合

    我一直试图在模型中找到两个表面的中心 参见照片 但未能成功 它们是元素表面 面 查询中没有选项可以查找元素表面的中心 只能查找元素集的中心 找到节点集的中心也很好 但是我的节点集没有出现在工具 gt 查询 gt 质量属性选项中 而且我找不到
  • Pandas Dataframe 中 bool 值的条件前向填充

    问题 如何转发 fill boolTruepandas 数据框中的值 如果是当天的第一个条目 True 到一天结束时 请参阅以下示例和所需的输出 Data import pandas as pd import numpy as np df
  • 如何将 numpy.matrix 提高到非整数幂?

    The 运算符为numpy matrix不支持非整数幂 gt gt gt m matrix 1 0 0 5 0 5 gt gt gt m 2 5 TypeError exponent must be an integer 我想要的是 oct
  • Python:尝试检查有效的电话号码

    我正在尝试编写一个接受以下格式的电话号码的程序XXX XXX XXXX并将条目中的任何字母翻译为其相应的数字 现在我有了这个 如果启动不正确 它将允许您重新输入正确的数字 然后它会翻译输入的原始数字 我该如何解决 def main phon
  • 从 pygame 获取 numpy 数组

    我想通过 python 访问我的网络摄像头 不幸的是 由于网络摄像头的原因 openCV 无法工作 Pygame camera 使用以下代码就像魅力一样 from pygame import camera display camera in
  • 为美国东部以外地区的 Cloudwatch 警报发送短信?

    AWS 似乎没有为美国东部以外的 SNS 主题订阅者提供 SMS 作为协议 我想连接我的 CloudWatch 警报并在发生故障时接收短信 但无法将其发送到 SMS YES 经过一番挖掘后 我能够让它发挥作用 它比仅仅选择一个主题或输入闹钟
  • 类型错误:只能使用标量值执行操作

    如果您能让我知道如何为所提供的表格绘制一些信息丰富的图表 我将不胜感激here https www iasplus com en resources ifrs topics use of ifrs 例如 我需要一个名为 国内非上市公司 非上
  • 设置 torch.gather(...) 调用的结果

    我有一个形状为 n x m 的 2D pytorch 张量 我想使用索引列表来索引第二个维度 可以使用 torch gather 完成 然后然后还设置新值到索引的结果 Example data torch tensor 0 1 2 3 4
  • 如何从没有结尾的管道中读取 python 中的 stdin

    当管道来自 打开 时 不知道正确的名称 我无法从 python 中的标准输入或管道读取数据 文件 我有作为例子管道测试 py import sys import time k 0 try for line in sys stdin k k
  • JavaFX ImageView 未更新

    因此 我尝试将图像加载并保存到 imageView 中 其中图像的位置是通过文件浏览器选择的 我已经为此工作好几天了 如果我不能解决这个问题 我就会中风 我已经尝试了我能想到的一切 预先感谢您的帮助 UPDATED 这是我的主要课程 pub
  • 改变字典的哈希函数

    按照此question https stackoverflow com questions 37100390 towards understanding dictionaries 我们知道两个不同的字典 dict 1 and dict 2例
  • PyAudio ErrNo 输入溢出 -9981

    我遇到了与用户相同的错误 Python 使用 Pyaudio 以 16000Hz 录制音频时出错 https stackoverflow com questions 12994981 python error audio recording

随机推荐

  • Android 中的文件浏览器[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • PHP 中的 INET_ATON() 和 INET_NTOA()?

    我想将 IP 地址存储在数据库中 但我还需要在整个应用程序中使用它们 我读到关于使用INET ATON and INET NTOA 在我的 MySQL 查询中 从 IP 地址中获取 32 位无符号整数 这正是我想要的 因为它将比使用 cha
  • 每月累计总数和 Postgresql

    我正在尝试计算 dellstore2 数据库的累计用户数 看看这里的答案和其他论坛 我用了这个 select date trunc month orderdate sum count distinct customerid over ord
  • 无法插入断点。低值地址

    我正在尝试调试这个简单的 C 程序 include
  • Facebook Javascript,如何检测用户是否是我的 Facebook 页面的粉丝?在我的网站上?

    我有以下 JS 代码 该代码的目的是首先获取用户的 facebook id 然后使用 FQL 对照我的页面 ID 检查该 id 并确保该用户是粉丝 我遇到的问题是 代码真正起作用的唯一时间是我使用自己的个人 Facebook 个人资料登录时
  • 具有给定厚度、位置和半径的拉环。 (Java2D)

    我需要画一个具有给定厚度的环 看起来像这样 中心必须是透明的 这样它就不会覆盖之前绘制的形状 或其他戒指 我尝试过这样的事情 g is a Graphics2D object g setColor Color RED g drawOval
  • 验证来自 Spring RESTful 资源服务器的 OAuth 2.0 访问令牌

    我想保护我的 Spring RESTful 后端 一种方法 正确的 是使用 OAuth 2 0 如下所示 http www youtube com watch v 8uBcpsIEz2I http www youtube com watch
  • Android 中按钮的单击和双击

    在我的应用程序中 我有一个按钮 单击和双击按钮后将执行单独的操作 我怎样才能做到这一点 谢谢 嗯 很简单 只需覆盖即可 OnClickListener 的 onClick 方法 public abstract class DoubleCli
  • 使用 Android Jetpack 导航时如何禁用导航图标

    当您向导航架构注册工具栏时 它将创建一个箭头 允许您在您所在的片段上弹出 在一些基本级别的片段上 我不想有汉堡菜单图标或箭头 而是自定义视图对象 如何从视图中禁用后退按钮 我尝试过手动禁用 但很难找到如何使用导航拱门来管理它 val sup
  • 如何访问控制台应用程序中的资源?

    我如何获得访问权限 Properties Resources在控制台应用程序中 这是为了使用解决方案附加的资源文件 Here s exactly what I can see 第一个语法错误不是我关心的 只能使用赋值 调用 自增 自减和新对
  • JavaScriptSerializer 可以排除具有 null/默认值的属性吗?

    我正在使用 JavaScriptSerializer 来序列化一些实体对象 问题是 许多公共属性包含 null 或默认值 有没有办法让 JavaScriptSerializer 排除具有 null 或默认值的属性 我希望生成的 JSON 不
  • 如何使用 sqlite 在 pytest 中启用外键检查

    我有一个 django 项目 其中的测试在我调用时运行py test 但我最近注意到它不检查外键约束 我怎样才能让它检查外键约束 显然 外键约束直到 sqlite 3 才成为可能 https sqlite org foreignkeys h
  • 如何在 OpenGL (ES) 中将非 2 幂纹理显示为精灵而不进行拉伸?

    我想绘制一个任意大小的精灵作为 png 比如说 56 宽 x 30 高之类的完全疯狂的东西 任一维度都不是 2 的幂 另外 我可能想绘制另一个 72 宽 x 33 高的不同精灵 指出这一点是因为这里不接受任何 技巧 我需要处理一般情况 所以
  • 实体框架 6:找不到服务器或无法访问服务器

    我正在跟进 本教程 https msdn microsoft com en us data jj193542 aspx 我正在尝试在 C 控制台应用程序中创建 EF 数据库 但是 即使我完全按照教程中的方式执行所有操作 它也会失败 db B
  • 如何将txt文件中的图像像素转换为十六进制颜色代码?

    如何只保留突出显示的部分 运行它awk在行号大于 1 的每一行打印第三个字段 awk NR gt 1 print 3 YourFile 574E3E 2E67FD 40A254
  • 如何从固定装置远程加载数据

    使用 GAE 上的 Django nonrel 部署后如何将固定装置加载到服务器 我可以通过本地化来完成 python manage py loaddata 夹具名称 但如何在 appspot com 上已部署的应用程序上执行此操作 我相信
  • 如何清理 Rails 中的 sql 片段

    我必须清理 SQL 查询的一部分 我可以做这样的事情 class lt lt ActiveRecord Base public sanitize sql end str ActiveRecord Base sanitize sql AND
  • 在 Mathematica 中操作自定义表格表示

    考虑以下数据示例 data a b c d e 1 2 3 4 5 11 12 13 14 15 21 22 23 24 25 以及以下函数来生成自定义表格表示 并且您可以参考Mr Wizard 用于可定制表格表示的广泛解决方案 https
  • Pandas Dataframe 或 C#.NET 中的类似数据框

    我目前正在致力于实现早期用 Python 构建的 Gurobi 线性程序模型的 C 版本 我有许多 CSV 文件 我从中导入数据并创建 pandas 数据帧 并且从这些数据帧中获取列以创建我在线性程序中使用的变量 使用数据帧创建变量的Pyt
  • python中打开的文件描述符

    当我在 IPython3 shell 中使用这段代码时 gt gt gt data open file read 然后检查打开的文件描述符 lsof grep file 我发现空列表 当我使用这个时 gt gt gt open file l