python - 理解 Python 中的 HandleCount
问题描述
我试图理解python中的句柄和句柄计数。
我用 python 打开了一个文件,并期望句柄数增加,因为文件仍然打开。但句柄数保持不变。
C:\Users\achakravarthy>py
Python 3.7.2 (tags/v3.7.2:9a3ffc0492, Dec 23 2018, 23:09:28) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> os.getppid()
12688
PS C:\Users\achakravarthy> get-process -id 12688 | select-object Handle, HandleCount
Handle HandleCount
------ -----------
5116 142
我打开一个文件并写了一段文字。该文件仍处于打开状态。我期望句柄数增加到143,因为该进程仍然打开文件。
>>> f = open( 'test.txt', 'w+' )
>>> f.write('hello world')
11
但 HandleCount 保持不变 (142)。然而,句柄值是随机变化的。
PS C:\Users\achakravarthy> get-process -id 12688 | select-object Handle, HandleCount
Handle HandleCount
------ -----------
1528 142
有人可以帮助理解/教育资源,了解为什么打开文件时句柄计数不会增加以及为什么句柄值不断随机变化。
解决方案
推荐阅读
- excel - 引用 Excel 时,AutoCAD 中的 VBA 错误不一致
- django - 未找到带有关键字参数“{'pk': '2'}' 的“post_list”的反向操作。尝试了 1 种模式:['$']
- c++ - Qt 错误在 linux ubuntu 16.04 上找不到 -lQtCore -lQtGui -lQtTest -QtOpenGl -lcore
- java - 如何使用 5.1 以上的 android 在 GPS 开放街道地图上获取位置
- azure - 来自 microsoft graph 的令牌有时会“损坏”
- javascript - 它一直说“必须转义特殊字符:<”这是什么意思?
- python - 我的 pos_tag 遍历每个字母,我需要将它应用于整个单词
- python-3.x - 从一列中具有相同值但在另一列中具有不同值的行中选择
- sql - SQL Server 2014 中的函数 STRING_SPLIT
- visual-c++ - 寻找材料以了解如何使用 Visual C++ 开发 UWP 应用程序