Totes les funcions del mòdul os augmenten OSError en el cas de noms i camins de fitxer no vàlids o inaccessibles, o altres arguments que tinguin el tipus correcte però que no siguin acceptats pel sistema operatiu. En aquest article, veurem com crear directoris de manera recursiva utilitzant el mòdul os i també sobre el mètode os.makedirs().
Sintaxi de la funció Python os.makedirs().
Sintaxi: os.makedirs(camí, mode = 0o777, exist_ok = Fals)
Paràmetre:
- Camí : Un objecte semblant a un camí que representa una ruta del sistema de fitxers. Un objecte semblant a un camí és un objecte de cadena o bytes que representa un camí.
- mode (opcional) : un valor enter que representa el mode del directori acabat de crear.. Si s'omet aquest paràmetre, s'utilitza el valor per defecte Oo777.
- existir_d'acord (opcional): s'utilitza un valor per defecte False per a aquest paràmetre. Si el directori de destinació ja existeix, es genera un OSError si el seu valor és False en cas contrari no. El valor True deixa el directori inalterat.
Tipus de retorn: Aquest mètode no retorna cap valor.
os.makedirs() Mètode en Python
os.makedirs() mètode en Python s'utilitza per crear un directori de manera recursiva. Això vol dir que mentre es fa un directori fulla si falta algun directori de nivell intermedi, os.makedirs() mètode els crearà tots.
Per exemple, considereu el camí següent:
/home/User/Documents/GeeksForGeeks/Authors/ihritik>
Suposem que volem crear el directori 'ihritik' però el directori 'GeeksForGeeks' i 'Autors' no estan disponibles al camí. Aleshores os.makedirs() El mètode crearà tots els directoris no disponibles/falts al camí especificat. Primer es crearan 'GeeksForGeeks' i 'Autors' i després es crearà el directori 'ihritik'.
Exemples de funcions de Python os.makedirs().
A continuació es mostren alguns exemples de la funció os.makedirs() mitjançant la qual podem veure com crear directoris de manera recursiva utilitzant la mòdul os :
Creació de directori utilitzantos.makedirs()>
En aquest exemple, elos.makedirs()>s'utilitza per crear directoris imbricats. La primera secció crea un directori anomenat ihritik dins del camí del directori Autors. La segona secció, amb els permisos especificats, crea un directori c imbricat dins de techcodeview.com/a/b.
Python 3
import> os> # Leaf directory> directory>=> 'ihritik'> # Parent Directories> parent_dir>=> '/home/User/Documents/GeeksForGeeks/Authors'> # Path> path>=> os.path.join(parent_dir, directory)> # Create the directory 'ihritik'> os.makedirs(path)> print>(>'Directory '%s' created'> %> directory)> # Leaf directory> directory>=> 'c'> # Parent Directories> parent_dir>=> '/home/User/Documents/techcodeview.com/a/b'> # mode> mode>=> 0o666> path>=> os.path.join(parent_dir, directory)> os.makedirs(path, mode)> print>(>'Directory '%s' created'> %> directory)> |
>
>
Sortida:
Directory 'ihritik' created Directory 'c' created>
Errors en utilitzar el mètode os.makedirs().
En aquest exemple, elos.makedirs()>El mètode intenta crear un directori anomenat ihritik dins del camí GeeksForGeeks. Si el directori ja existeix, el mètode genera unOSError>. Quan s'ha creat correctament, s'imprimeix un missatge de confirmació.
exemple de java hola món
Python 3
import> os> # Directory> directory>=> 'ihritik'> # Parent Directory path> parent_dir>=> '/home/User/Documents/GeeksForGeeks'> # Path> path>=> os.path.join(parent_dir, directory)> # Create the directory 'ihritik'> os.makedirs(path)> print>(>'Directory '%s' created'> %> directory)> |
>
>
Sortida:
Traceback (most recent call last): File 'makedirs.py', line 21, in os.makedirs(path) File '/usr/lib/python3.6/os.py', line 220, in makedirs mkdir(name, mode) FileExistsError: [Errno 17] File exists: '/home/User/Documents/GeeksForGeeks/ihritik'>
Gestió d'errors mentre s'utilitza el mètode os.makedirs().
En aquest exemple, elos.makedirs()>s'utilitza el mètode amb elexist_ok>paràmetre establert aTrue>suprimirOSError>si el directori ja existeix. Si el directori no existeix, es crearà. Tanmateix, un altreOSError>les excepcions, com ara un nom de camí no vàlid, encara es poden plantejar i s'han de gestionar per separat.
Python 3
import> os> # Directory> directory>=> 'ihritik'> # Parent Directory path> parent_dir>=> '/home/ihritik/Desktop/GeeksForGeeks'> # Path> path>=> os.path.join(parent_dir, directory)> # Create the directory 'ihritik'> try>:> >os.makedirs(path, exist_ok>=>True>)> >print>(>'Directory '%s' created successfully'> %> directory)> except> OSError as error:> >print>(>'Directory '%s' can not be created'>)> |
>
>
Sortida:
Directory 'ihritik' created successfully>