Why can't I call os.stat
on the special Windows file nul
?
>>> import os
>>> os.stat('nul')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
WindowsError: [Error 87] The parameter is incorrect: 'nul'
I can open it:
>>> f = open('nul', 'r')
>>> f.read(10)
''
I was hoping to check for special files like /dev/null
and nul
in a cross-platform way with stat.S_ISCHR
and was surprised to find that I can't stat a file that I can open.
According to this old Python bug, it's supposed to be that way:
http://bugs.python.org/issue1311
This is the behavior of the underlying Win32 GetFileAttributesEx()
and CreateFile()
functions, which are eventually called by os.stat()
and open()
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With