2015-09-21 14 views
7

Voglio creare un nuovo file in Python per questo sto usando mknod comando, ma ottenere errore come:Python modulo 'os' non ha alcun attributo 'mknod'

os.mknod(); 
AttributeError: module 'os' has no attribute 'mknod' 

Sto usando Windows e gli altri attributi di 'mknod' funzionano.

+2

Stampa 'os .__ file__' – vaultah

+1

Per espandere il commento di vaultah: si potrebbe avere un proprio file chiamato' os.py' che ombreggia il pacchetto integrato. – Matthias

+0

Hmm - a guess - sei su Windows ...? Poiché stai parlando di chiamate 'os', il sistema operativo su cui stai lavorando è un'informazione essenziale ... –

risposta

3

os offre funzionalità strettamente correlate al sistema operativo in uso. Se la maggior parte degli altri attributi è accessibile da os (ovvero non hai un file os.py nella directory corrente che maschera il modulo standard) un AttributeError segnala al 99% una funzione non supportata sul tuo sistema operativo.

Questo è il caso di os.mknod su Windows. La creazione di pipe denominate in Windows ha, per quanto posso capire, very different semantics.

In entrambi i casi, se si sta tentando di utilizzare mknod per creare pipe denominate, è preferibile utilizzare mkfifo() (di nuovo, solo Unix supportato). Se lo stai usando per creare file ordinari, non usare open() che è portatile.

Problemi correlati