python os.open在打开目录时的用法

python os.open在打开目录时的用法,python,Python,我有这个: drwxr-xr-x 8 abc root 4096 Dec 21 19:56 javaprac 这项工作: >>> fd = os.open(os.getcwd() , os.O_RDONLY) 但为什么这两个都失败了: >>> fd = os.open(os.getcwd() , os.O_RDWR) Traceback (most recent call last): File "<stdin>", line 1, in

我有这个:

drwxr-xr-x 8 abc root 4096 Dec 21 19:56 javaprac
这项工作:

>>> fd = os.open(os.getcwd() , os.O_RDONLY)
但为什么这两个都失败了:

>>> fd = os.open(os.getcwd() , os.O_RDWR)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
OSError: [Errno 21] Is a directory: '/home/abc/javaprac'

>>> fd = os.open(os.getcwd() , os.O_WRONLY)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
OSError: [Errno 21] Is a directory: '/home/abc/javaprac'
fd=os.open(os.getcwd(),os.O_RDWR) 回溯(最近一次呼叫最后一次): 文件“”,第1行,在 OSError:[Errno 21]是一个目录:'/home/abc/javaprac' >>>fd=os.open(os.getcwd(),仅限os.O_) 回溯(最近一次呼叫最后一次): 文件“”,第1行,在 OSError:[Errno 21]是一个目录:'/home/abc/javaprac'
至少在Linux上,您不能写入目录

$ echo hello >> .
bash: .: Is a directory

您可以从目录中读取ls和dir命令的功能。

为什么要直接写入目录节点?你想在这里做什么?@MartijnPieters我的问题简单而直接,没有更深的含义:为什么我不能这样写一个目录?为什么这种行为是这样的?