Skapa en katalog i Python
OS-modulen i Python tillhandahåller funktioner för att interagera med operativsystemet. OS kommer under Pythons standardverktygsmoduler. Denna modul ger ett bärbart sätt att använda operativsystemberoende funktionalitet. De os> och os.path> moduler innehåller många funktioner för att interagera med filsystemet. Alla funktioner i os-modulen höjs OSError> i fallet med ogiltiga eller otillgängliga filnamn och sökvägar, eller andra argument som har rätt typ men som inte accepteras av operativsystemet.
Det finns olika metoder tillgängliga i OS-modulen för att skapa en regissör. Dessa är -
Använder os.mkdir()
os.mkdir()> metod i Python används för att skapa en katalog med namnet sökväg med det angivna numeriska läget. Denna metod höja FileExistsError> om katalogen som ska skapas redan finns.
Syntax: os.mkdir(sökväg, läge = 0o777, *, dir_fd = Ingen)
Parameter:
väg: Ett sökvägsliknande objekt som representerar en filsystemsökväg. Ett banliknande objekt är antingen ett sträng- eller bytesobjekt som representerar en bana.
läge (valfritt): Ett heltalsvärde som representerar läget för katalogen som ska skapas. Om denna parameter utelämnas används standardvärdet Oo777.
dir_fd (valfritt): En filbeskrivning som refererar till en katalog. Standardvärdet för denna parameter är None.
Om den angivna sökvägen är absolut ignoreras dir_fd.Notera: '*' i parameterlistan indikerar att alla följande parametrar (här i vårt fall 'dir_fd') är parametrar endast för nyckelord och de kan tillhandahållas med deras namn, inte som positionsparameter.
Returtyp: Denna metod returnerar inget värde.
Exempel #1: Användning av os.mkdir()> metod för att skapa katalog/fil
# Python program to explain os.mkdir() method> > # importing os module> import> os> > # Directory> directory> => 'techcodeview.com'> > # Parent Directory path> parent_dir> => 'D:/Pycharm projects/'> > # 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> => 'Geeks'> > # Parent Directory path> parent_dir> => 'D:/Pycharm projects'> > # 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)> |
Produktion:
Directory 'techcodeview.com' created Directory 'Geeks' created
Exempel #2: Fel vid användning os.mkdir()> metod.
# Python program to explain os.mkdir() method> > # importing os module> import> os> > # Directory> directory> => 'GeeksForGeeks'> > # Parent Directory path> parent_dir> => 'D:/Pycharm projects/'> > # Path> path> => os.path.join(parent_dir, directory)> > # Create the directory> # 'GeeksForGeeks' in> # '/home / User / Documents'> os.mkdir(path)> print> (> 'Directory '% s' created'> %> directory)> > # if directory / file that> # is to be created already> # exists then 'FileExistsError'> # will be raised by os.mkdir() method> > # Similarly, if the specified path> # is invalid 'FileNotFoundError' Error> # will be raised> |
Produktion:
Traceback (most recent call last): File 'gfg.py', line 18, in os.mkdir(path) FileExistsError: [WinError 183] Cannot create a file when that file / /already exists: 'D:/Pycharm projects/GeeksForGeeks'
Exempel #3: Hanteringsfel vid användning os.mkdir()> metod.
# Python program to explain os.mkdir() method> > # importing os module> import> os> > # path> path> => 'D:/Pycharm projects / GeeksForGeeks'> > # Create the directory> # 'GeeksForGeeks' in> # '/home / User / Documents'> try> :> > os.mkdir(path)> except> OSError as error:> > print> (error)> |
Produktion:
[WinError 183] Cannot create a file when that file/ /already exists: 'D:/Pycharm projects/GeeksForGeeks'
Använder os.makedirs()
os.makedirs()> metod i Python används för att skapa en katalog rekursivt. Det betyder att när du skapar bladkatalog om någon katalog på mellannivå saknas, os.makedirs()> metoden kommer att skapa dem alla.
Tänk till exempel på följande väg:
D:/Pycharm projects/GeeksForGeeks/Authors/Nikhil
Anta att vi vill skapa katalogen 'Nikhil' men Directory 'GeeksForGeeks' och 'Authors' är inte tillgängliga i sökvägen. Sedan os.makedirs()> metod kommer att skapa alla otillgängliga/saknade kataloger i den angivna sökvägen. 'GeeksForGeeks' och 'Authors' skapas först, sedan skapas 'Nikhil'-katalogen.
Syntax: os.makedirs(sökväg, läge = 0o777, exist_ok = Falskt)
Parameter:
väg: Ett sökvägsliknande objekt som representerar en filsystemsökväg. Ett banliknande objekt är antingen ett sträng- eller bytesobjekt som representerar en bana.
läge (valfritt): Ett heltalsvärde som representerar läget för den nyskapade katalogen. Om denna parameter utelämnas används standardvärdet Oo777.
exist_ok (valfritt): Ett standardvärde False används för denna parameter. Om målkatalogen redan finns uppstår ett OSError om dess värde är False annars inte.Returtyp: Denna metod returnerar inget värde.
Exempel #1: Användning av os.makedirs()> metod för att skapa katalog.
# Python program to explain os.makedirs() method> > # importing os module> import> os> > # Leaf directory> directory> => 'Nikhil'> > # Parent Directories> parent_dir> => 'D:/Pycharm projects/GeeksForGeeks/Authors'> > # Path> path> => os.path.join(parent_dir, directory)> > # Create the directory> # 'Nikhil'> os.makedirs(path)> print> (> 'Directory '% s' created'> %> directory)> > # Directory 'GeeksForGeeks' and 'Authors' will> # be created too> # if it does not exists> > > > # Leaf directory> directory> => 'c'> > # Parent Directories> parent_dir> => 'D:/Pycharm projects/techcodeview.com/a/b'> > # mode> mode> => 0o666> > path> => os.path.join(parent_dir, directory)> > # Create the directory 'c'> > os.makedirs(path, mode)> print> (> 'Directory '% s' created'> %> directory)> > > # 'GeeksForGeeks', 'a', and 'b'> # will also be created if> # it does not exists> > # If any of the intermediate level> # directory is missing> # os.makedirs() method will> # create them> > # os.makedirs() method can be> # used to create a directory tree> |
Produktion:
Directory 'Nikhil' created Directory 'c' created
Exempel #2:
# Python program to explain os.makedirs() method> > # importing os module> import> os> > # os.makedirs() method will raise> # an OSError if the directory> # to be created already exists> > > # Directory> directory> => 'Nikhil'> > # Parent Directory path> parent_dir> => 'D:/Pycharm projects/GeeksForGeeks/Authors'> > # Path> path> => os.path.join(parent_dir, directory)> > # Create the directory> # 'Nikhil'> os.makedirs(path)> print> (> 'Directory '% s' created'> %> directory)> |
Produktion:
Traceback (most recent call last): File 'gfg.py', line 22, in os.makedirs(path) File 'C:UsersNikhil AggarwalAppDataLocalProgramsPython/ / Python38-32libos.py', line 221, in makedirs mkdir(name, mode) FileExistsError: [WinError 183] Cannot create a file when that/ / file already exists: 'D:/Pycharm projects/GeeksForGeeks/AuthorsNikhil'
Exempel #3: Hantera fel när du använder os.makedirs()-metoden.
# Python program to explain os.makedirs() method> > # importing os module> import> os> > # os.makedirs() method will raise> # an OSError if the directory> # to be created already exists> # But It can be suppressed by> # setting the value of a parameter> # exist_ok as True> > # Directory> directory> => 'Nikhil'> > # Parent Directory path> parent_dir> => 'D:/Pycharm projects/GeeksForGeeks/Authors'> > # Path> path> => os.path.join(parent_dir, directory)> > # Create the directory> # 'Nikhil'> try> :> > os.makedirs(path, exist_ok> => True> )> > print> (> 'Directory '%s' created successfully'> %> directory)> except> OSError as error:> > print> (> 'Directory '%s' can not be created'> %> directory)> > # By setting exist_ok as True> # error caused due already> # existing directory can be suppressed> # but other OSError may be raised> # due to other error like> # invalid path name> |
Produktion:
Directory 'Nikhil' created successfully