Alle functies in de OS-module verhogen OSFout in het geval van ongeldige of ontoegankelijke bestandsnamen en paden, of andere argumenten die het juiste type hebben, maar niet worden geaccepteerd door het besturingssysteem.
os.mkdir()> methode in Python wordt gebruikt om een map in Python te maken of een map met Python genaamd pad te maken met de opgegeven numerieke modus. Deze methode verhoogt FileExistsFout als de aan te maken map al bestaat.
os.mkdir() Syntaxis in Python
Syntaxis: os.mkdir(pad, modus = 0o777, *, dir_fd = Geen)
Parameter :
- pad : Een padachtig object dat een bestandssysteempad vertegenwoordigt. Een padachtig object is een string- of bytesobject dat een pad vertegenwoordigt.
- modus (optioneel): een geheel getal dat de modus vertegenwoordigt van de map die moet worden gemaakt. Als deze parameter wordt weggelaten, wordt de standaardwaarde Oo777 gebruikt.
- dir_fd (optioneel): een bestandsdescriptor die naar een map verwijst. De standaardwaarde van deze parameter is Geen. Als het opgegeven pad absoluut is, wordt dir_fd genegeerd.
- Opmerking: De ‘*’ in de parameterlijst geeft aan dat alle volgende parameters (hier in ons geval ‘dir_fd’) alleen trefwoordparameters zijn en dat ze kunnen worden opgegeven met behulp van hun naam, niet als positionele parameter.
Retourtype: Deze methode retourneert geen enkele waarde.
os.mkdir() methode Voorbeelden
Er zijn verschillende manieren waarop os.mkdir() kan worden gebruikt om een map in Python te maken of een map met Python te maken met behulp van os.mkdir. Hier bespreken we enkele algemene voorbeelden van het maken van een map in Python of het maken van een map met Python, die volgen: .
Maak een map in Python
In dit voorbeeld wordt code gebruiktos.mkdir()>naar Python maak map twee mappen: GeeksForGeeks en ihritik in de map /home/User/Documents. De eerste map is gemaakt met standaardmachtigingen, terwijl de tweede is gemaakt met gespecificeerde machtigingen (modus 0o666).
Python3
#Python create folder> # importing os module> import> os> > # Directory> directory>=> 'GeeksForGeeks'> > # Parent Directory path> parent_dir>=> '/home/User/Documents'> > # Path> path>=> os.path.join(parent_dir, directory)> > # Create the directory> # 'GeeksForGeeks' in> # '/home / User / Documents'> os.mkdir(path)> print>(>'Directory '%s' created'> %>directory)> > > # Directory> directory>=> 'ihritik'> > # Parent Directory path> parent_dir>=> '/home/User/Documents'> > # mode> mode>=> 0o666> > # Path> path>=> os.path.join(parent_dir, directory)> > # Create the directory> # 'GeeksForGeeks' in> # '/home / User / Documents'> # with mode 0o666> os.mkdir(path, mode)> print>(>'Directory '%s' created'> %>directory)> |
Java-scanner
>
>Uitvoer
Directory 'GeeksForGeeks' created Directory 'ihritik' created>
Fouten tijdens het gebruik van de os.mkdir()-methode
In dit voorbeeld gebruikt het Python-script `os.mkdir()` om een map met de naam GeeksForGeeks te maken in het pad /home/User/Documents. Als de map al bestaat, wordt er een `FileExistsError` gegenereerd. Als het opgegeven pad ongeldig is, wordt er een `FileNotFoundError` gegenereerd.
Python3
#Python create folder> # importing os module> import> os> > # Directory> directory>=> 'GeeksForGeeks'> > # Parent Directory path> parent_dir>=> '/home/User/Documents'> > # Path> path>=> os.path.join(parent_dir, directory)> > # Create the directory> # 'GeeksForGeeks' in> # '/home / User / Documents'> os.mkdir(path)> print>(>'Directory '%s' created'> %>directory)> |
>
>Uitvoer
Traceback (most recent call last): File 'osmkdir.py', line 17, in os.mkdir(path) FileExistsError: [Errno 17] File exists: '/home/User/Documents/GeeksForGeeks'>
Afhandelingsfout tijdens het gebruik van de os.mkdir()-methode
In dit voorbeeld probeert het Python-script een map met de naam GeeksForGeeks te maken in het pad /home/User/Documents met behulp van `os.mkdir(). Als de directory al bestaat, wordt een `OSError` opgevangen en wordt de foutmelding afgedrukt.
Python3
# importing os module> import> os> # path> path>=> '/home/User/Documents/GeeksForGeeks'> # Create the directory> # 'GeeksForGeeks' in> # '/home/User/Documents'> try>:> >os.mkdir(path)> except> OSError as error:> >print>(error)> |
wat is winterslaap
>
>Uitvoer
[Errno 17] File exists: '/home/User/Documents/GeeksForGeeks'>
Veelgestelde vragen
Wat is het verschil tussen os.mkdir() en os.makedirs() ?
os.mkdir()>wordt gebruikt om één map aan te maken, en geeft een foutmelding als de bovenliggende map niet bestaat.
os.makedirs()>maakt indien nodig bovenliggende mappen aan, waardoor geneste mappen kunnen worden gemaakt, en er treedt geen fout op als de mappen al bestaan.
Wanneer moet ik pathlib.Path.mkdir() versus os.mkdir() of os.makedirs() gebruiken?
Gebruik `pathlib.Path.mkdir()` bij het werken met paden en mappen, omdat het een modernere en objectgeoriënteerde benadering biedt voor bestandssysteembewerkingen.
`os.mkdir()` en `os.makedirs()` zijn geschikt voor het maken van basisdirectory's, maar `pathlib` heeft de voorkeur voor meer geavanceerde padmanipulatie en directorybeheer.