Ricerca…


introduzione

Questo modulo fornisce un modo portatile per utilizzare la funzionalità dipendente dal sistema operativo.

Sintassi

  • importazione os

Parametri

Parametro Dettagli
Sentiero Un percorso per un file. Il separatore del percorso può essere determinato da os.path.sep .
Modalità Il permesso desiderato, in ottale (es. 0700 )

Crea una directory

os.mkdir('newdir')

Se è necessario specificare le autorizzazioni, è possibile utilizzare l'argomento della mode facoltativo:

os.mkdir('newdir', mode=0700)

Ottieni la directory corrente

Usa la funzione os.getcwd() :

print(os.getcwd())

Determina il nome del sistema operativo

Il modulo os fornisce un'interfaccia per determinare il tipo di sistema operativo su cui è in esecuzione il codice.

os.name

Questo può restituire uno dei seguenti in Python 3:

  • posix
  • nt
  • ce
  • java

Informazioni più dettagliate possono essere recuperate da sys.platform

Rimuovi una directory

Rimuovi la directory sul path :

os.rmdir(path)

Non dovresti usare os.remove() per rimuovere una directory. Quella funzione è per i file e usarla nelle directory risulterà in un OSError

A volte è necessario determinare l'obiettivo di un collegamento simbolico. os.readlink farà questo:

print(os.readlink(path_to_symlink))

Modifica le autorizzazioni su un file

os.chmod(path, mode)

dove la mode è il permesso desiderato, in ottale.

makedir - creazione di directory ricorsiva

Data una directory locale con i seguenti contenuti:

 └── dir1
     ├── subdir1
     └── subdir2

Vogliamo creare lo stesso subdir1, subdir2 sotto una nuova directory dir2, che non esiste ancora.

import os

os.makedirs("./dir2/subdir1")
os.makedirs("./dir2/subdir2")

Esecuzione di questo risultato

├── dir1
│   ├── subdir1
│   └── subdir2
└── dir2
    ├── subdir1
    └── subdir2

dir2 viene creato solo la prima volta che è necessario, per la creazione di subdir1.

Se avessimo usato os.mkdir , avremmo avuto un'eccezione perché dir2 non sarebbe esistito ancora.

    os.mkdir("./dir2/subdir1")
OSError: [Errno 2] No such file or directory: './dir2/subdir1'

a os.makedirs non piacerà se la directory di destinazione esiste già. Se lo ripetiamo di nuovo:

OSError: [Errno 17] File exists: './dir2/subdir1'

Tuttavia, questo potrebbe essere risolto facilmente rilevando l'eccezione e controllando che la directory sia stata creata.

try:
    os.makedirs("./dir2/subdir1")
except OSError:
    if not os.path.isdir("./dir2/subdir1"):
        raise

try:
    os.makedirs("./dir2/subdir2")
except OSError:
    if not os.path.isdir("./dir2/subdir2"):
        raise


Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow