了解 lsof 输出中的 TYPE

understanding TYPE in lsof output

我通过python打开了一个文件。因此,我对 python 进程执行了 lsof。 lsof 的输出有以下行

COMMAND   PID    USER   FD   TYPE DEVICE SIZE/OFF       NODE NAME
python  15855 inaflash    3w   REG   0,25        0 4150810088 /home/inaflash/he.txt

事实是,它有 3w。这意味着该文件已打开以供写入。但是,我实际上是这样打开文件的

a = open('he.txt','r')

我读到,w 表示文件已打开以供写入。谁能帮我理解为什么它是 w 而不是 r

我在 Python 3 中尝试了相同的代码,我的文件以读取模式打开。

您确定您的文件与使用 python 和相同的 python 进程打开的文件相同吗? 也许您在以写入模式打开文件后忘记在代码中的某处关闭文件。

编辑:也在 Python 2 中尝试过,结果相同(读取模式)