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