2012-12-05 6 views
5

Perché non è possibile chiamare os.stat nello speciale file di Windows nul?os.stat su file "nul" di Windows

>>> import os 
>>> os.stat('nul') 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
WindowsError: [Error 87] The parameter is incorrect: 'nul' 

posso aprirlo:

>>> f = open('nul', 'r') 
>>> f.read(10) 
'' 

speravo per controllare i file speciali come /dev/null e nul in modo cross-platform con stat.S_ISCHR e sono rimasto sorpreso di scoprire che non posso stat un file che posso aprire.

risposta

2

Questo è il comportamento dei sottostanti Win32 GetFileAttributesEx() e CreateFile() funzioni, che sono poi chiamati da os.stat() e open().