Python Language
OS-modulen
Sök…
Introduktion
Denna modul ger ett portabelt sätt att använda operativsystemberoende funktionalitet.
Syntax
- import os
parametrar
| Parameter | detaljer |
|---|---|
| Väg | En sökväg till en fil. Vägseparatorn kan bestämmas av os.path.sep . |
| Läge | Det önskade tillståndet i oktal (t.ex. 0700 ) |
Skapa en katalog
os.mkdir('newdir')
Om du behöver ange behörigheter kan du använda det valfria mode :
os.mkdir('newdir', mode=0700)
Hämta aktuell katalog
Använd os.getcwd() :
print(os.getcwd())
Bestäm namnet på operativsystemet
os modulen tillhandahåller ett gränssnitt för att avgöra vilken typ av operativsystem koden för närvarande körs på.
os.name
Detta kan returnera något av följande i Python 3:
-
posix -
nt -
ce -
java
Mer detaljerad information kan hämtas från sys.platform
Ta bort en katalog
Ta bort katalogen vid path :
os.rmdir(path)
Du bör inte använda os.remove() att ta bort en katalog. Den här funktionen är för filer och att använda den i kataloger kommer att resultera i en OSError
Följ en symlink (POSIX)
Ibland måste du bestämma målet för en symlink. os.readlink gör detta:
print(os.readlink(path_to_symlink))
Ändra behörigheter för en fil
os.chmod(path, mode)
där mode är önskad behörighet, i oktal.
makedirs - skapande av rekursiv katalog
Får en lokal katalog med följande innehåll:
└── dir1
├── subdir1
└── subdir2
Vi vill skapa samma underkatalog1, underkatalog 2 under en ny katalog dir2, som inte finns ännu.
import os
os.makedirs("./dir2/subdir1")
os.makedirs("./dir2/subdir2")
Att köra detta resulterar i
├── dir1
│ ├── subdir1
│ └── subdir2
└── dir2
├── subdir1
└── subdir2
dir2 skapas bara första gången det behövs för att skapa subdir1.
Om vi istället hade använt os.mkdir , skulle vi ha haft ett undantag eftersom dir2 inte hade funnits ännu.
os.mkdir("./dir2/subdir1")
OSError: [Errno 2] No such file or directory: './dir2/subdir1'
os.makedirs gillar inte det om målkatalogen redan finns. Om vi kör det igen:
OSError: [Errno 17] File exists: './dir2/subdir1'
Detta kan dock lätt åtgärdas genom att fånga undantaget och kontrollera att katalogen har skapats.
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