Meta tags:
description= Domina los módulos os y sys de Python: navega el sistema de archivos, gestiona variables de entorno, inspecciona el intérprete y maneja argumentos de línea de…;
Headings (most frequently used words):
de, sys, os, con, ruta, el, entorno, la, trabajo, directorios, variables, un, una, módulos, python, módulo, rutas, comandos, útiles, práctica, obtener, directorio, listar, eliminar, variable, leer, archivos, ejecutar, shell, system, subprocess, utilidades, combinando, en, vs, pathlib, cuál, deberías, usar, capítulos, relacionados, cambiar, actual, contenido, crear, recorrer, árbol, combinar, componentes, dividir, comprobar, si, existe, absoluta, __file__, relativas, al, script, valor, predeterminado, establecer, todas, las, argumentos, línea, argv, salir, del, intérprete, exit, información, versión, búsqueda, path, flujos, estándar, atributos,
Text of the page (most frequently used words):
#python (88), sys (81), path (69), print (39), import (33), copiar (28), con (27), una (23), directory (21), para (19), los (18), archivos (18), the (18), directorio (18), argv (17), variables (16), script (16), que (16), aprender (15), del (14), matplotlib (14), módulos (13), elementos (13), mysql (13), json (12), entorno (12), alice (12), environ (12), home (12), mongodb (12), estándar (11), stdout (11), ruta (11), lista (11), eliminar (11), rutas (10), name (10), archivo (10), log (10), exit (10), trabajo (9), crear (9), join (9), for (9), salida (9), output (9), true (9), config (9), directorios (8), intérprete (8), listas (8), code (7), html (7), práctica (7), módulo (7), más (7), hello (7), datos (7), myapp (7), tuplas (7), pathlib (6), comandos (6), subprocess (6), this (6), getcwd (6), código (6), listdir (6), not (6), error (6), stderr (6), cadenas (6), argumentos (6), las (6), string (6), actual (6), recorrer (6), tmp (6), entry (6), métodos (6), w3docs (5), desde (5), shell (5), system (5), leer (5), you (5), current (5), scripts (5), nombre (5), como (5), and (5), write (5), pero (5), tupla (5), version_info (5), capturar (5), usa (5), age (5), acceder (5), cambiar (5), variable (5), set (5), debug (5), port (5), base (5), filename (5), strings (5), primeros (5), pasos (5), tutorial (5), formatter (5), color (5), generator (4), try (4), sistema (4), run (4), listar (4), exists (4), obtener (4), unir (4), objetos (4), son (4), full_path (4), log_files (4), file (4), isdir (4), búsqueda (4), línea (4), devuelve (4), puedes (4), cuando (4), biblioteca (4), example (4), árbol (4), remove (4), exist_ok (4), key (4), establecer (4), get (4), data (4), dirpath (4), regresión (4), diccionarios (4), todos (3), encoder (3), editor (3), herramientas (3), cuestionarios (3), ejercicios (3), php (3), javascript (3), css (3), usar (3), utilidades (3), útiles (3), ejecutar (3), operativo (3), except (3), comprobar (3), command (3), returns (3), ejecuta (3), siempre (3), open (3), splitext (3), basename (3), estilo (3), cada (3), len (3), sorted (3), found (3), isfile (3), valor (3), flujo (3), version (3), with (3), paquetes (3), mymodule (3), __file__ (3), dirname (3), ejecución (3), entradas (3), por (3), necesitas (3), years (3), old (3), are (3), greet (3), sobre (3), proceso (3), walk (3), top (3), makedirs (3), chdir (3), means (3), forma (3), value (3), todas (3), none (3), false (3), csv (3), abspath (3), project (3), indent (3), filenames (3), ver (3), tools (3), italiano (2), português (2), español (2), français (2), русский (2), deutsch (2), english (2), beautifier (2), diff (2), password (2), java (2), git (2), libros (2), fragmentos (2), capítulos (2), relacionados (2), cuál (2), deberías (2), combinando (2), page (2), random (2), itertools (2), resuelve (2), nombres (2), alcance (2), escribir (2), manejo (2), importar (2), passed (2), what (2), does (2), contain (2), when (2), from (2), line (2), which (2), function (2), working (2), está (2), donde (2), read (2), existe (2), extensión (2), ambos (2), bytes (2), summarize_logs (2), usage (2), size (2), juntos (2), busca (2), esta (2), plataforma (2), int (2), recursión (2), predeterminado (2), salir (2), entrada (2), stdin (2), diccionario (2), modules (2), linux (2), major (2), minor (2), micro (2), cadena (2), versión (2), qué (2), función (2), goes (2), original_stdout (2), utf (2), encoding (2), común (2), tres (2), flujos (2), modificar (2), solución (2), rápida (2), lugar (2), pip (2), libs (2), insert (2), añadir (2), tiempo (2), información (2), limpieza (2), antes (2), programa (2), sentencia (2), etc (2), gestiona (2), automáticamente (2), systemexit (2), answer (2), lanza (2), termina (2), cualquier (2), prefiere (2), genera (2), usuario (2), esto (2), ejecutas (2), ganchos (2), controlar (2), mapeo (2), rmdir (2), anidados (2), mkdir (2), hace (2), result (2), echo (2), way (2), exit_code (2), only (2), valores (2), prevents (2), keyerror (2), my_app_env (2), 8080 (2), sin (2), portables (2), data_file (2), here (2), propio (2), relativas (2), útil (2), cambia (2), absoluta (2), windows (2), level (2), dirnames (2), shutil (2), reports (2), create (2), else (2), entries (2), subdirectorios (2), necesita (2), dos (2), conecta (2), handling (2), números (2), clases (2), limit (2), colección (2), delete (2), ordenar (2), cuadrícula (2), dispersión (2), distribución (2), introducción (2), bucles (2), conjuntos (2), sets (2), agregar (2), hash (2), 2026, derechos, reservados, hecho, desarrolladores, idioma, política, privacidad, contacto, acerca, empresa, tutoriales, ejemplos, gratuitos, web, 2014, next, previous, yes, was, helpful, cómo, diferentes, ámbitos, nomenclatura, manejar, errores, operaciones, tus, propios, number, arguments, interpreter, first, argument, itself, getdir, cwd, tiende, producir, legible, muchas, familiar, soportado, lugares, tiene, equivalente, list, iterdir, read_text, texto, verificar, suffix, tarea, introdujo, alternativa, orientada, enfoques, correctos, elección, principalmente, preferencia, ejecútalo, imprimirá, tamaño, ese, summarize, var, getsize, return, files, endswith, def, reales, suelen, aquí, hay, ejemplo, pequeño, realista, escanea, imprime, resumen, máximo, maxsize, profundidad, máxima, 1000, getrecursionlimit, estado, dado, importados, actualmente, identificador, win32, darwin, platform, atributo, atributos, back, terminal, patrón, redirigir, toda, warning, something, looks, off, errors, diagnostics, same, but, more, explicit, similares, conectados, redirigirlos, suprimir, desarrollo, local, distribuibles, adecuado, pyproject, toml, now, add, sibling, search, ubicaciones, escribes, orden, hasta, encontrar, coincidente, comienza, vacía, sesiones, interactivas, seguido, luego, sitio, pythonpath, compararla, directamente, enteros, requires, later, guard, against, running, unsupported, main, gcc, bloque, termine, normalmente, manejadores, conexiones, red, continuing, goodbye, lower, continue, input, convención, significa, éxito, distinto, cero, señala, análisis, complejos, help, argparse, valida, índices, bloqueará, olvida, argumento, indexerror, always, script_name, supón, guardas, siguientes, pasados, expone, proporciona, comportamiento, número, núcleos, lógicos, cpu, cpu_count, getpid, recursivamente, renombrar, mover, rename, src, dst, vacío, potente, seguro, porque, evita, permite, retorno, strip, text, capture_output, better, capture, success, quick, comando, ninguna, cosa, allá, llamada, disparar, olvidar, items, persiste, después, permanentes, modifica, perfil, cargado, dotenv, env, zshrc, bashrc, present, pop, production, affects, process, its, children, menos, sea, estrictamente, necesaria, deba, fallar, ella, raise, useful, fail, fast, missing, almacenan, configuración, vive, fuera, fuente, urls, bases, claves, api, indicadores, características, acceso, lectura, escritura, técnica, sean, independientemente, ejecutes, content, that, contains, abre, funciona, falla, uno, diferente, construir, relativa, almacenar, registrar, debe, seguir, siendo, válida, incluso, adelante, respecto, absolute, isabs, usually, conveniente, split, dividir, nunca, construyas, concatenación, rompe, combina, partes, usando, separador, correcto, combinar, componentes, submódulo, contiene, manipulación, funcionan, correctamente, macos, count, sep, raíz, recursiva, estructura, carpetas, parámetro, muy, pueden, ejecutarse, vez, segunda, fileexistserror, rmtree, full, tree, empty, already, 2024, january, nested, directories, one, call, single, dir, distinguir, recurre, contenido, change, different, users, projects, ejecutando, instalación, viene, incluido, distribuciones, importa, inicio, esenciales, subyacente, permitiéndote, navegar, inspeccionar, manipular, mismo, exponiendo, cubren, casi, todo, interactuar, domina, navega, inspecciona, maneja, peticiones, http, pytest, entornos, virtuales, tooling, best, practices, threading, asyncio, concurrency, collections, lanzar, excepciones, standard, library, sumar, invertir, duplicados, how, enumeraciones, abstractas, encapsulamiento, polimorfismo, dataclasses, static, classmethod, property, mágicos, advanced, oop, match, enumerate, zip, map, comprensiones, gestores, contexto, closures, generadores, decoradores, args, kwargs, sugerencias, tipo, intermediate, actualización, consulta, find, insertar, update, drop, table, order, where, select, tabla, vecinos, cercanos, curva, auc, roc, validación, cruzada, agregación, bootstrap, categóricos, logística, agrupamiento, jerárquico, matriz, confusión, decisión, train, test, escalar, múltiple, polinomial, lineal, diagrama, normal, percentil, desviación, media, mediana, moda, machine, learning, gráficos, pastel, histogramas, barras, subplot, etiquetas, líneas, marcadores, trazado, pyplot, django, scipy, pandas, numpy, formateo, regex, matemáticas, fechas, ámbito, iteradores, herencia, arrays, lambda, funciones, while, operadores, booleanos, casting, tipos, comentarios, sintaxis, actualizar, desempaquetar, segmentación, iterar, comprensión, globales, formato, caracteres, escape, concatenar, asignar, múltiples, conjunto, iniciar, sesión, buscar, formatters, url, reverse, sha256, md5, length, calculator, colors, hsl, hex, mixer, converter, picker, general, cursos,
Text of the page (random words):
ros en python casting en python strings de python booleanos en python operadores de python listas de python tuplas de python diccionarios en python python if else bucles while en python bucles for en python funciones en python python lambda arrays en python clases y objetos en python herencia en python iteradores de python ámbito en python módulos de python fechas en python matemáticas en python python json python regex python pip python try except entrada de usuario en python formateo de cadenas en python file handling manejo de archivos en python leer archivos en python escribir crear archivos en python eliminar archivos en python python modules tutorial de numpy tutorial de pandas tutorial de scipy tutorial de django python matplotlib introducción a matplotlib primeros pasos con matplotlib matplotlib pyplot trazado con matplotlib marcadores de matplotlib líneas en matplotlib etiquetas en matplotlib cuadrícula de matplotlib subplot de matplotlib dispersión en matplotlib barras en matplotlib histogramas con matplotlib gráficos de pastel con matplotlib machine learning primeros pasos media mediana moda desviación estándar percentil distribución de datos distribución normal de datos diagrama de dispersión regresión lineal regresión polinomial regresión múltiple escalar train test árbol de decisión matriz de confusión agrupamiento jerárquico regresión logística búsqueda en cuadrícula datos categóricos k means agregación bootstrap validación cruzada curva auc roc k vecinos más cercanos python mysql primeros pasos con mysql mysql crear base de datos mysql crear tabla mysql insert mysql select mysql where mysql order by mysql delete mysql drop table mysql update mysql limit mysql join python mongodb primeros pasos con mongodb crear base de datos mongodb mongodb crear colección insertar en mongodb mongodb find consulta mongodb ordenar en mongodb mongodb delete eliminar colección en mongodb actualización en mongodb mongodb limit intermediate python f strings sugerencias de tipo args kwargs decoradores generadores closures recursión gestores de contexto comprensiones enumerate zip map sentencia match advanced oop métodos mágicos property static y classmethod dataclasses polimorfismo encapsulamiento clases abstractas enumeraciones python how to eliminar duplicados en listas invertir un string sumar dos números error handling and the standard library lanzar excepciones collections itertools os sys random archivos csv concurrency in python asyncio threading python tooling and best practices entornos virtuales paquetes pytest peticiones http módulos os y sys de python domina los módulos os y sys de python navega el sistema de archivos gestiona variables de entorno inspecciona el intérprete y maneja argumentos de línea de comandos los módulos os y sys son dos de las herramientas más esenciales de la biblioteca estándar de python os conecta python con el sistema operativo subyacente permitiéndote navegar directorios inspeccionar y establecer variables de entorno y manipular archivos y rutas sys conecta python con el intérprete mismo exponiendo la lista de argumentos la ruta de búsqueda de módulos y ganchos para controlar la salida del intérprete juntos cubren casi todo lo que un script necesita para interactuar con el entorno en el que se ejecuta el módulo os importa os al inicio de tu script import os copiar no se necesita instalación viene incluido en todas las distribuciones de python trabajo con directorios obtener y cambiar el directorio de trabajo actual os getcwd devuelve la ruta absoluta del directorio donde se está ejecutando tu script os chdir lo cambia import os print the current directory print os getcwd example output users alice projects change to a different directory os chdir tmp print os getcwd output tmp copiar listar el contenido de un directorio os listdir path devuelve una lista de todas las entradas archivos y subdirectorios en path no recurre en los subdirectorios import os entries os listdir means current directory for entry in sorted entries print entry copiar para distinguir archivos de directorios usa os path isfile y os path isdir import os for entry in os listdir if os path isdir entry print f dir entry else print f file entry copiar crear y eliminar directorios import os create a single directory os mkdir reports create nested directories in one call os makedirs data 2024 january exist_ok true exist_ok true prevents an error if the directory already exists remove an empty directory os rmdir reports remove a full directory tree import shutil shutil rmtree data copiar el parámetro exist_ok true en os makedirs es muy útil en scripts que pueden ejecutarse más de una vez sin él una segunda ejecución lanza fileexistserror recorrer un árbol de directorios os walk top genera una tupla de tres elementos dirpath dirnames filenames para cada directorio en el árbol con raíz en top es la forma estándar de recorrer de forma recursiva una estructura de carpetas import os for dirpath dirnames filenames in os walk project level dirpath count os sep indent level print f indent os path basename dirpath for filename in filenames print f indent filename copiar trabajo con rutas de archivos el submódulo os path de python contiene utilidades portables de manipulación de rutas que funcionan correctamente en windows macos y linux combinar componentes de ruta os path join combina partes de una ruta usando el separador correcto para el sistema operativo actual import os base home alice project myapp filename config json full_path os path join base project filename print full_path output home alice myapp config json copiar nunca construyas rutas con concatenación de cadenas como base filename se rompe en windows usa siempre os path join dividir una ruta import os path home alice myapp config json print os path dirname path home alice myapp print os path basename path config json print os path split path home alice myapp config json print os path splitext path home alice myapp config json copiar os path splitext es conveniente cuando necesitas eliminar o cambiar una extensión de archivo comprobar si existe una ruta import os print os path exists tmp true usually print os path isfile tmp false it is a directory print os path isdir tmp true print os path isabs tmp true it is an absolute path copiar obtener la ruta absoluta os path abspath resuelve rutas relativas respecto al directorio de trabajo actual import os print os path abspath config json example output home alice myapp config json copiar esto es útil cuando necesitas almacenar o registrar una ruta que debe seguir siendo válida incluso si el directorio de trabajo cambia más adelante la variable __file__ y rutas relativas al script un error común un script que abre data csv funciona cuando lo ejecutas desde su propio directorio pero falla desde uno diferente la solución es construir la ruta relativa al propio archivo del script import os directory that contains this script here os path dirname os path abspath __file__ data_file os path join here data csv with open data_file encoding utf 8 as f content f read copiar esta técnica hace que los scripts sean portables independientemente del directorio desde el que los ejecutes variables de entorno las variables de entorno almacenan configuración que vive fuera del código fuente urls de bases de datos claves de api indicadores de características etc el mapeo os environ te da acceso de lectura y escritura al entorno del proceso actual leer una variable de entorno import os returns the value or none if not set home os environ get home print home example output home alice raise keyerror if not set useful to fail fast on missing config path os environ path copiar prefiere os environ get key sobre os environ key a menos que la variable sea estrictamente necesaria y el programa deba fallar sin ella leer con un valor predeterminado import os debug os environ get debug false port int os environ get port 8080 print f debug debug port port output debug false port 8080 copiar establecer y eliminar variables de entorno import os set a variable affects only the current process and its children os environ my_app_env production remove a variable os environ pop my_app_env none none prevents keyerror if not present copiar establecer valores en os environ no persiste después de que el proceso termina para establecer variables de entorno permanentes modifica tu perfil de shell bashrc zshrc o usa un archivo env cargado por una biblioteca como python dotenv listar todas las variables de entorno import os for key value in sorted os environ items print f key value copiar ejecutar comandos de shell con os system y subprocess os system command ejecuta un comando de shell y devuelve su código de salida pero no te da ninguna forma de capturar su salida para cualquier cosa más allá de una llamada rápida de disparar y olvidar usa el módulo subprocess en su lugar import os import subprocess quick way exit code only exit_code os system echo hello print exit code exit_code 0 means success better way capture output result subprocess run echo hello capture_output true text true print result stdout strip hello copiar subprocess run es más potente y seguro que os system porque evita el intérprete de shell y te permite capturar stdout stderr y el código de retorno como objetos python utilidades útiles de os función qué hace os getcwd directorio de trabajo actual os chdir path cambiar el directorio de trabajo os listdir path listar entradas del directorio os mkdir path crear un directorio os makedirs path exist_ok true crear directorios anidados os rmdir path eliminar un directorio vacío os remove path eliminar un archivo os rename src dst renombrar mover un archivo os walk top recorrer recursivamente un árbol de directorios os environ mapeo de variables de entorno os getpid id del proceso actual os cpu_count número de núcleos lógicos de cpu el módulo sys sys expone información sobre el intérprete de python y te proporciona ganchos para controlar su comportamiento import sys copiar argumentos de línea de comandos con sys argv sys argv es una lista de cadenas sys argv 0 es el nombre del script los elementos siguientes son los argumentos pasados en la línea de comandos supón que guardas esto como greet py y ejecutas python greet py alice 42 import sys script_name sys argv 0 greet py name sys argv 1 alice age sys argv 2 42 always a string print f hello name you are age years old output hello alice you are 42 years old copiar valida siempre sys argv antes de acceder a los índices un indexerror bloqueará el script si el usuario olvida un argumento import sys if len sys argv 3 print f usage python sys argv 0 name age sys exit 1 name sys argv 1 age sys argv 2 print f hello name you are age years old copiar para el análisis de argumentos complejos prefiere el módulo argparse de la biblioteca estándar genera la salida de help automáticamente salir del intérprete con sys exit sys exit code lanza systemexit y termina el intérprete por convención el código de salida 0 significa éxito cualquier valor distinto de cero señala un error import sys answer input continue y n if answer lower y print goodbye sys exit 0 print continuing copiar puedes capturar systemexit en un bloque try except si necesitas ejecutar limpieza antes de que el programa termine pero normalmente la sentencia with para manejadores de archivos conexiones de red etc gestiona la limpieza automáticamente información de versión de python import sys print sys version example 3 10 15 main gcc 11 4 0 print sys version_info sys version_info major 3 minor 10 micro 15 guard against running on an unsupported python version if sys version_info 3 8 sys exit this script requires python 3 8 or later copiar sys version_info es una tupla con nombre por lo que puedes compararla directamente con una tupla de enteros la ruta de búsqueda de módulos sys path cuando escribes import mymodule python busca en cada directorio de sys path en orden hasta encontrar un archivo coincidente la lista comienza con el directorio del script o una cadena vacía para sesiones interactivas seguido de las entradas de pythonpath y luego la biblioteca estándar y los paquetes del sitio import sys for p in sys path print p copiar puedes añadir a sys path en tiempo de ejecución para importar módulos desde ubicaciones no estándar import sys import os add a sibling directory to the search path sys path insert 0 os path join os path dirname __file__ libs import mymodule now found in libs mymodule py copiar modificar sys path es una solución rápida para el desarrollo local pero para paquetes distribuibles usa pip y un pyproject toml adecuado en su lugar flujos estándar sys stdin sys stdout y sys stderr son objetos similares a archivos conectados a los tres flujos estándar puedes redirigirlos para capturar o suprimir la salida import sys write to stdout same as print but more explicit sys stdout write hello stdout n write to stderr errors and diagnostics sys stderr write warning something looks off n copiar un patrón común en los scripts es redirigir sys stdout a un archivo para capturar toda la salida de print import sys with open output log w encoding utf 8 as log original_stdout sys stdout sys stdout log print this goes to the log file sys stdout original_stdout print this goes back to the terminal copiar atributos útiles de sys atributo función qué devuelve sys argv lista de argumentos de línea de comandos sys version cadena de versión de python sys version_info tupla con nombre de major minor micro sys platform identificador de plataforma linux darwin win32 sys path ruta de búsqueda de módulos lista de cadenas sys modules diccionario de todos los módulos importados actualmente sys stdin flujo de entrada estándar sys stdout flujo de salida estándar sys stderr flujo de error estándar sys exit code salir del intérprete con el código de estado dado sys getrecursionlimit profundidad máxima de recursión predeterminado 1000 sys maxsize valor máximo de un int en esta plataforma combinando os y sys en la práctica los scripts reales suelen usar ambos módulos juntos aquí hay un ejemplo pequeño pero realista un script que escanea un directorio en busca de archivos log e imprime un resumen import os import sys def summarize_logs directory if not os path isdir directory sys stderr write f error directory is not a directory n sys exit 1 log_files f for f in os listdir directory if f endswith log and os path isfile os path join directory f if not log_files print no log files found return print f found len log_files log file s in directory for name in sorted log_files full_path os path join directory name size os path getsize full_path print f name size bytes if len sys argv 2 print f usage python sys argv 0 directory sys exit 1 summarize_logs sys argv 1 copiar ejecútalo como python summarize py var log e imprimirá el nombre y el tamaño en bytes de cada archivo log en ese directorio os vs pathlib cuál deberías usar python 3 4 introdujo pathlib path una alternativa orient...
|