2012-12-05 12 views
5

Tại sao tôi không thể gọi os.stat trên tệp Windows đặc biệt nul?os.stat trên tệp "nul" trên 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' 

tôi có thể mở nó:

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

Tôi đã hy vọng để kiểm tra cho các tập tin đặc biệt như /dev/nullnul một cách cross-platform với stat.S_ISCHR và rất ngạc nhiên khi thấy rằng tôi không thể stat một tệp mà tôi có thể mở.

Trả lời

2

Đây là hành vi của cơ bản Win32 GetFileAttributesEx()CreateFile() chức năng, được cuối cùng gọi bằng os.stat()open().