English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutoriales Básicos de Python

Control de Flujo de Python

Funciones en Python

Tipos de datos en Python

Operaciones de Archivo de Python

Objetos y Clases de Python

Fecha y Hora de Python

Conocimientos Avanzados de Python

Manual de Referencia de Python

Gestión de directorios y archivos en Python

En este artículo, aprenderá sobre la gestión de archivos y directorios en Python, es decir, crear un directorio, renombrarlo, listar todos los directorios y usarlos.

¿Qué es un directorio en Python?

Si su programa Pythonpara procesarGran cantidadArchivoSi se desea, se puede organizar el código en diferentes directorios para facilitar su gestión.

Un directorio o carpeta es una colección de archivos y subdirectorios. Python tiene os Móduloque nos proporciona muchas métodos útiles para usar directorios (y archivos).

Obtener el directorio actual

Podemos obtener el directorio de trabajo actual utilizando el método getcwd().

Este método devuelve el directorio de trabajo actual en forma de cadena. También podemos obtenerlo como objeto de bytes utilizando el método getcwdb().

>>> import os
>>> os.getcwd()
'C:\\Program Files\\PyScripter'
>>> os.getcwdb()
b'C:\\Program Files\\PyScripter'

Los barras invertidas adicionales representan la secuencia de escape. La función print() la presentará correctamente.

>>> print(os.getcwd())
C:\Program Files\PyScripter

Cambiar directorio

Podemos usar el método chdir() para cambiar el directorio de trabajo actual.

La nueva ruta que queremos cambiar debe proporcionar como cadena a este método. Podemos usar la barra (/)/)o barras invertidas(\)para separar rutas.

Es más seguro usar la secuencia de escape cuando se utilizan barras invertidas.

>>> os.chdir('C:\\Python33)
>>> print(os.getcwd())
C:\Python33

Listar directorios y archivos

Puede usar el método listdir() para conocer todos los archivos y subdirectorios dentro del directorio.

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 directorios 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'

Create a new directory

We can use the mkdir() method to create a new directory.

This method takes the path of the new directory. If the complete path is not specified, a new directory will be created in the current working directory.

>>> os.mkdir('test')
>>> os.listdir()
['test']

Rename directory or file

The rename() method can rename directories or files.

The first parameter is the old name, and the new name must be the second parameter.

>>> os.listdir()
['test']
>>> os.rename('test','new_one')
>>> os.listdir()
['new_one']

Delete directory or file

The remove() method can be used to delete (delete) files.

Similarly, the rmdir() method will delete an empty directory.

>>> os.listdir()
['new_one', 'old.txt']
>>> os.remove('old.txt')
>>> os.listdir()
['new_one']
>>> os.rmdir('new_one')
>>> os.listdir()
[]

However, please note that the rmdir() method can only delete empty directories.

To delete a non-empty directory, we can use the rmtree() method from the shutil module.

>>> 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()
[]