Administración de archivos y directorios de Python
Administración de directorios y archivos de Python
En este tutorial, aprenderá sobre la administración de archivos y directorios en Python, es decir, cómo crear un directorio, cambiarle el nombre, enumerar todos los directorios y trabajar con ellos.
Video:Módulo Python OS
Directorio de Python
Si hay una gran cantidad de archivos para manejar en nuestro programa Python, podemos organizar nuestro código en diferentes directorios para que todo sea más manejable.
Un directorio o carpeta es una colección de archivos y subdirectorios. Python tiene el os
módulo que nos proporciona muchos métodos útiles para trabajar con directorios (y archivos también).
Obtener directorio actual
Podemos obtener el directorio de trabajo actual usando el getcwd()
método del os
módulo.
Este método devuelve el directorio de trabajo actual en forma de cadena. También podemos usar el getcwdb()
método para obtenerlo como objeto de bytes.
>>> import os
>>> os.getcwd()
'C:\\Program Files\\PyScripter'
>>> os.getcwdb()
b'C:\\Program Files\\PyScripter'
La barra invertida adicional implica una secuencia de escape. El print()
la función renderizará esto correctamente.
>>> print(os.getcwd())
C:\Program Files\PyScripter
Cambio de Directorio
Podemos cambiar el directorio de trabajo actual usando el chdir()
método.
La nueva ruta a la que queremos cambiar debe proporcionarse como una cadena a este método. Podemos usar tanto la barra diagonal /
o la barra invertida \
para separar los elementos de la ruta.
Es más seguro usar una secuencia de escape cuando se usa la barra inclinada hacia atrás.
>>> os.chdir('C:\\Python33')
>>> print(os.getcwd())
C:\Python33
Lista de directorios y archivos
Todos los archivos y subdirectorios dentro de un directorio se pueden recuperar usando el listdir()
método.
Este método toma una ruta y devuelve una lista de subdirectorios y archivos en esa ruta. Si no se especifica una ruta, devuelve la lista de subdirectorios y archivos del directorio de trabajo actual.
>>> print(os.getcwd())
C:\Python33
>>> os.listdir()
['DLLs',
'Doc',
'include',
'Lib',
'libs',
'LICENSE.txt',
'NEWS.txt',
'python.exe',
'pythonw.exe',
'README.txt',
'Scripts',
'tcl',
'Tools']
>>> os.listdir('G:\\')
['$RECYCLE.BIN',
'Movies',
'Music',
'Photos',
'Series',
'System Volume Information']
Creación de un nuevo directorio
Podemos hacer un nuevo directorio usando el mkdir()
método.
Este método toma la ruta del nuevo directorio. Si no se especifica la ruta completa, el nuevo directorio se crea en el directorio de trabajo actual.
>>> os.mkdir('test')
>>> os.listdir()
['test']
Renombrar un Directorio o un Archivo
El rename()
El método puede cambiar el nombre de un directorio o un archivo.
Para renombrar cualquier directorio o archivo, el rename()
El método toma dos argumentos básicos:el nombre antiguo como primer argumento y el nuevo nombre como segundo argumento.
>>> os.listdir()
['test']
>>> os.rename('test','new_one')
>>> os.listdir()
['new_one']
Eliminar directorio o archivo
Un archivo se puede eliminar (eliminar) usando el remove()
método.
Del mismo modo, el rmdir()
elimina un directorio vacío.
>>> os.listdir()
['new_one', 'old.txt']
>>> os.remove('old.txt')
>>> os.listdir()
['new_one']
>>> os.rmdir('new_one')
>>> os.listdir()
[]
Nota :El rmdir()
El método solo puede eliminar directorios vacíos.
Para eliminar un directorio que no esté vacío, podemos usar el rmtree()
método dentro del shutil
módulo.
>>> os.listdir()
['test']
>>> os.rmdir('test')
Traceback (most recent call last):
...
OSError: [WinError 145] The directory is not empty: 'test'
>>> import shutil
>>> shutil.rmtree('test')
>>> os.listdir()
[]
python
- Gestión de memoria C++:nuevo y eliminar
- Palabras clave e identificadores de Python
- Declaración, sangría y comentarios de Python
- Variables, constantes y literales de Python
- Conversión de tipos de Python y conversión de tipos
- Entrada, salida e importación de Python
- Variables globales, locales y no locales de Python
- Números de Python, conversión de tipos y matemáticas
- Errores de Python y excepciones integradas
- ¿Cómo obtener la fecha y hora actuales en Python?
- Sensor de temperatura Python y Raspberry Pi