El Módulo de sistema operativo en Python proporciona funciones para interactuar con el sistema operativo. El sistema operativo se incluye en los módulos de utilidad estándar de Python. Este módulo proporciona una forma portátil de utilizar la funcionalidad dependiente del sistema operativo.
El *os* y *os.ruta* Los módulos incluyen muchas funciones para interactuar con el sistema de archivos.
Funciones del módulo Python-OS
Aquí discutiremos algunas funciones importantes del módulo del sistema operativo Python:
- Manejo del directorio de trabajo actual
- Creando un directorio
- Listado de archivos y directorios con Python
- Eliminar directorio o archivos usando Python
Manejo del directorio de trabajo actual
Considerar Directorio de trabajo actual (CWD) como una carpeta, donde Python está operando. Siempre que los archivos se llaman solo por su nombre, Python asume que comienza en el CWD, lo que significa que la referencia de solo nombre tendrá éxito solo si el archivo está en el CWD de Python.
Nota: La carpeta donde se ejecuta el script Python se conoce como Directorio actual. Esta no es la ruta donde se encuentra el script de Python.
Obtener el directorio de trabajo actual
Para obtener la ubicación del directorio de trabajo actual sistema operativo.getcwd() se utiliza.
Ejemplo: Este código utiliza el ‘ os'> módulo para obtener e imprimir el directorio de trabajo actual (CWD) del script Python. Recupera el CWD usando el ‘ os.getcwd()'> y luego lo imprime en la consola.
import os cwd = os.getcwd() print('Current working directory:', cwd)> Producción:
Current working directory: /home/nikhil/Desktop/gfg>
Cambiar el directorio de trabajo actual
Para cambiar el directorio de trabajo actual (CWD) os.chdir() Se utiliza el método. Este método cambia el CWD a una ruta especificada. Solo se necesita un argumento como nueva ruta de directorio.
Nota: El directorio de trabajo actual es la carpeta en la que opera el script Python.
Ejemplo: El código verifica y muestra el directorio de trabajo actual (CWD) dos veces: antes y después de cambiar el directorio hacia arriba un nivel usando os.chdir('../')> . Proporciona un ejemplo sencillo de cómo trabajar con el directorio de trabajo actual en Python.
import os def current_path(): print('Current working directory before') print(os.getcwd()) print() current_path() os.chdir('../') current_path()> Producción:
Current working directory before C:UsersNikhil AggarwalDesktopgfg Current working directory after C:UsersNikhil AggarwalDesktop>
Creando un directorio
Hay diferentes métodos disponibles en el módulo del sistema operativo para crear un directorio. Estos son -
- sistema operativo.mkdir()
- os.makedirs()
Usando os.mkdir()
Mediante el uso sistema operativo.mkdir() El método en Python se utiliza para crear un directorio llamado ruta con el modo numérico especificado. Este método genera FileExistsError si el directorio que se va a crear ya existe.
Ejemplo: Este código crea dos directorios: techcodeview.com dentro de D:/proyectos Pycharm/ directorio y frikis dentro de D:/proyectos Pycharm directorio.
- El primer directorio se crea utilizando el
os.mkdir()>método sin especificar el modo. - El segundo directorio se crea usando el mismo método, pero en un modo específico. (
0o666>) Se proporciona, que otorga permisos de lectura y escritura. - Luego, el código imprime mensajes para indicar que se han creado los directorios.
import os directory = 'techcodeview.com' parent_dir = 'D:/Pycharm projects/' path = os.path.join(parent_dir, directory) os.mkdir(path) print('Directory '% s' created' % directory) directory = 'Geeks' parent_dir = 'D:/Pycharm projects' mode = 0o666 path = os.path.join(parent_dir, directory) os.mkdir(path, mode) print('Directory '% s' created' % directory)> Producción:
Directory 'techcodeview.com' created Directory 'Geeks' created>
Usando os.makedirs()
os.makedirs() El método en Python se utiliza para crear un directorio de forma recursiva. Eso significa que al crear un directorio hoja, si falta algún directorio de nivel intermedio, el método os.makedirs() los creará todos.
Ejemplo: Este código crea dos directorios, Nikhil y C , dentro de diferentes directorios principales. Utiliza elos.makedirs>función para garantizar que se creen directorios principales si no existen.
También establece los permisos para el C directorio. El código imprime mensajes para confirmar la creación de estos directorios.
Pitón import os directory = 'Nikhil' parent_dir = 'D:/Pycharm projects/GeeksForGeeks/Authors' path = os.path.join(parent_dir, directory) os.makedirs(path) print('Directory '% s' created' % directory) directory = 'c' parent_dir = 'D:/Pycharm projects/techcodeview.com/a/b' mode = 0o666 path = os.path.join(parent_dir, directory) os.makedirs(path, mode) print('Directory '% s' created' % directory)> Producción:
Directory 'Nikhil' created Directory 'c' created>
Listado de archivos y directorios con Python
Hay os.listdir() El método en Python se utiliza para obtener la lista de todos los archivos y directorios en el directorio especificado. Si no especificamos ningún directorio, se devolverá la lista de archivos y directorios en el directorio de trabajo actual.
Ejemplo: Este código enumera todos los archivos y directorios en el directorio raíz. (/) . Utiliza elos.listdir>función para obtener la lista de archivos y directorios en la ruta especificada y luego imprime los resultados.
import os path = '/' dir_list = os.listdir(path) print('Files and directories in '', path, '' :') print(dir_list)> Producción:
Files and directories in ' / ' : ['sys', 'run', 'tmp', 'boot', 'mnt', 'dev', 'proc', 'var', 'bin', 'lib64', 'usr', 'lib', 'srv', 'home', 'etc', 'opt', 'sbin', 'media']>
Eliminar directorio o archivos usando Python
El módulo OS proporciona diferentes métodos para eliminar directorios y archivos en Python. Estos son -
- Usando sistema operativo.remove()
- Usando os.rmdir()
Usando el método os.remove()
sistema operativo.remove() El método en Python se utiliza para eliminar o eliminar una ruta de archivo. Este método no puede eliminar ni eliminar un directorio. Si la ruta especificada es un directorio, el método generará OSError.
Ejemplo: Supongamos que el archivo contenido en la carpeta es:

Este código elimina un archivo llamado file1.txt de la ubicación especificada D:/Pycharm proyectos/techcodeview.com/Authors/Nikhil/. Utiliza elos.remove>función para eliminar el archivo en la ruta especificada.
import os file = 'file1.txt' location = 'D:/Pycharm projects/techcodeview.com/Authors/Nikhil/' path = os.path.join(location, file) os.remove(path)>
Producción:

Usando os.rmdir()
sistema operativo.rmdir() El método en Python se utiliza para eliminar o eliminar un directorio vacío. Se generará un error OSError si la ruta especificada no es un directorio vacío.
Ejemplo: Supongamos que los directorios son

Este código intenta eliminar un directorio llamado frikis situado en D:/proyectos Pycharm/ .
Utiliza elos.rmdir>función para eliminar el directorio. Si el directorio está vacío, se eliminará. Si contiene archivos o subdirectorios, puede encontrar un error.
import os directory = 'Geeks' parent = 'D:/Pycharm projects/' path = os.path.join(parent, directory) os.rmdir(path)>
Producción:

Funciones comúnmente utilizadas
Usando la función os.name
Esta función proporciona el nombre del módulo dependiente del sistema operativo importado. . Actualmente se han registrado los siguientes nombres: ‘posix’, ‘nt’, ‘os2’, ‘ce’, ‘java’ y ‘riscos’.
Pitón import os print(os.name)>
Producción:
posix>
Nota: Puede dar resultados diferentes en diferentes intérpretes, como 'posix' cuando ejecuta el código aquí.
Usando la función os.error
Todas las funciones de este módulo aumentan OSError en el caso de nombres y rutas de archivos no válidos o inaccesibles, u otros argumentos que tengan el tipo correcto, pero que no sean aceptados por el sistema operativo. os.error es un alias para la excepción OSError incorporada.
Este código lee el contenido de un archivo llamado 'GFG.txt' . Utiliza un ‘ intentar... excepto ‘ bloque para manejar errores potenciales, particularmente el ' IOError ‘ eso puede ocurrir si hay un problema al leer el archivo.
Si ocurre un error, imprimirá un mensaje que dice: Problema de lectura: GFG.txt.
Pitón import os try: filename = 'GFG.txt' f = open(filename, 'rU') text = f.read() f.close() except IOError: print('Problem reading: ' + filename)> Producción:
Problem reading: GFG.txt>
Usando la función os.popen()
Este método abre una tubería hacia o desde el comando. El valor de retorno se puede leer o escribir dependiendo de si el modo es 'r' o 'w' .
Sintaxis:
os.popen(command[, mode[, bufsize]])>
Los parámetros mode y bufsize no son parámetros necesarios; si no se proporcionan, se toma la 'r' predeterminada como modo.
Este código abre un archivo llamado 'GFG.txt' en modo escritura, escribe Hola y luego lee e imprime su contenido. El uso de os.popen> No se recomienda y para estas tareas se utilizan operaciones de archivos estándar.
import os fd = 'GFG.txt' file = open(fd, 'w') file.write('Hello') file.close() file = open(fd, 'r') text = file.read() print(text) file = os.popen(fd, 'w') file.write('Hello')> Producción:
Hello>
Nota: La salida de popen() no se mostrará, habrá cambios directos en el archivo.
Usando la función os.close()
Cerrar el descriptor de archivo fd. Un archivo abierto usando open() puede cerrarse solo con close(). Pero el archivo abierto a través de os.popen(), se puede cerrar con close() o sistema operativo.cerrar() . Si intentamos cerrar un archivo abierto con open(), usando os.close(), Python arrojaría TypeError.
Pitón import os fd = 'GFG.txt' file = open(fd, 'r') text = file.read() print(text) os.close(file)>
Producción:
Traceback (most recent call last): File 'C:UsersGFGDesktopGeeksForGeeksOSFile.py', line 6, in os.close(file) TypeError: an integer is required (got type _io.TextIOWrapper)>
Nota: Es posible que no se produzca el mismo error debido a que el archivo o el privilegio de permiso no existen.
Usando la función os.rename()
Se puede cambiar el nombre de un archivo old.txt a new.txt, usando la función sistema operativo.renombrar() . El nombre del archivo cambia solo si el archivo existe y el usuario tiene permiso de privilegio suficiente para cambiarlo.
Pitón import os fd = 'GFG.txt' os.rename(fd,'New.txt') os.rename(fd,'New.txt')>
Producción:
Traceback (most recent call last): File 'C:UsersGFGDesktopModuleOSGeeksForGeeksOSFile.py', line 3, in os.rename(fd,'New.txt') FileNotFoundError: [WinError 2] The system cannot find the file specified: 'GFG.txt' ->'Nuevo.txt'>
Existe un nombre de archivo GFG.txt, por lo tanto, cuando se usa os.rename() por primera vez, se cambia el nombre del archivo.
Al llamar a la función os.rename() por segunda vez, el archivo New.txt existe y no GFG.txt, por lo que Python arroja FileNotFoundError.
Usando la función os.remove()
Usando el módulo Os podemos eliminar un archivo en nuestro sistema usando el sistema operativo.remove() método. Para eliminar un archivo necesitamos pasar el nombre del archivo como parámetro.
Pitón import os #importing os module. os.remove('file_name.txt') #removing the file.> El módulo OS nos proporciona una capa de abstracción entre nosotros y el sistema operativo.
Cuando estamos trabajando con el sistema operativo El módulo siempre especifica la ruta absoluta dependiendo del sistema operativo, el código se puede ejecutar en cualquier sistema operativo, pero debemos cambiar la ruta exactamente. Si intenta eliminar un archivo que no existe, obtendrá Error de archivo no encontrado .
Usando la función os.path.exists()
Este método comprobará si un archivo existe o no pasando el nombre del archivo como parámetro. El módulo OS tiene un submódulo llamado PATH mediante el cual podemos realizar muchas más funciones.
Pitón import os #importing os module result = os.path.exists('file_name') #giving the name of the file as a parameter. print(result)> Producción:
False>
Como en el código anterior, el archivo no existe y dará como resultado Falso. Si el archivo existe, nos dará el resultado Verdadero.
Usando la función os.path.getsize()
En os.ruta.getsize( ), Python nos dará el tamaño del archivo en bytes. Para utilizar este método necesitamos pasar el nombre del archivo como parámetro.
Pitón import os #importing os module size = os.path.getsize('filename') print('Size of the file is', size,' bytes.')> Producción:
c número aleatorio
Size of the file is 192 bytes.>