<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://es.wikieducator.org/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
		<id>https://es.wikieducator.org/index.php?action=history&amp;feed=atom&amp;title=Curso_Python_DGA_2011%2Fsistemas%2Fmanejo_sistemas_ficheros_directorios</id>
		<title>Curso Python DGA 2011/sistemas/manejo sistemas ficheros directorios - Historial de revisiones</title>
		<link rel="self" type="application/atom+xml" href="https://es.wikieducator.org/index.php?action=history&amp;feed=atom&amp;title=Curso_Python_DGA_2011%2Fsistemas%2Fmanejo_sistemas_ficheros_directorios"/>
		<link rel="alternate" type="text/html" href="https://es.wikieducator.org/index.php?title=Curso_Python_DGA_2011/sistemas/manejo_sistemas_ficheros_directorios&amp;action=history"/>
		<updated>2026-06-19T14:02:16Z</updated>
		<subtitle>Historial de revisiones para esta página en el wiki</subtitle>
		<generator>MediaWiki 1.23.14</generator>

	<entry>
		<id>https://es.wikieducator.org/index.php?title=Curso_Python_DGA_2011/sistemas/manejo_sistemas_ficheros_directorios&amp;diff=5335&amp;oldid=prev</id>
		<title>Luis.perez: sistemas de ficheros</title>
		<link rel="alternate" type="text/html" href="https://es.wikieducator.org/index.php?title=Curso_Python_DGA_2011/sistemas/manejo_sistemas_ficheros_directorios&amp;diff=5335&amp;oldid=prev"/>
				<updated>2011-08-30T06:39:25Z</updated>
		
		<summary type="html">&lt;p&gt;sistemas de ficheros&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Página nueva&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Manejo de sistemas de ficheros y directorios ==&lt;br /&gt;
&lt;br /&gt;
Como ya sabemos, uno de los puntos fuertes de python es que viene con &amp;quot;baterías incluidas&amp;quot;. Para el manejor de ficheros y directorios, python provee numerosas funciones y módulos para facilitarnos la vida. En esta sección enumeraremos algunas de ellas.&lt;br /&gt;
&lt;br /&gt;
{{Lectura|Esta seccion pretende ser un resumen rápido de algunas de las funciones que pueden sernos útiles a la hora de manejar sistemas de ficheros en nuestros scripts. Para una información detallada, y exhaustiva, como siempre, consultar la documentación de referencia de python}} &lt;br /&gt;
&lt;br /&gt;
=== Trabajando con paths ===&lt;br /&gt;
&lt;br /&gt;
* '''os.path.abspath(path)''' - Devuelve el path absoluto del path pasado (a partir del directorio de trabajo actual)&lt;br /&gt;
* '''os.path.basename(path)''' - Devuelve la última parte del path pasado&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; os.path.basename(&amp;quot;/tmp/onedir/otherdir/file1&amp;quot;)&lt;br /&gt;
'file1'&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; os.path.basename(&amp;quot;/tmp/onedir/otherdir/file1/&amp;quot;) # cuidado! no se comporta como '''basedir''' de GNU&lt;br /&gt;
''&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* '''os.path.dirname(path)'''  - Devuelve la primera parte del path pasado&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; os.path.dirname(&amp;quot;/tmp/onedir/otherdir/file1&amp;quot;)&lt;br /&gt;
'/tmp/onedir/otherdir'&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; os.path.dirname(&amp;quot;/tmp/onedir/otherdir/file1/&amp;quot;) # cuidado! no se comporta como '''dirname''' de GNU&lt;br /&gt;
'/tmp/onedir/otherdir/file1'&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* '''os.path.exists(path)''' - devuelve true si el path existe&lt;br /&gt;
* '''os.path.expandvars(path)''' - devuelve el argumento pasado, pero con variables de entorno tipo $VAR o ${VAR} (o %VAR% en windows) sustituidas&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; os.path.expandvars(&amp;quot;$PATH:/home/luis/myprog&amp;quot;)&lt;br /&gt;
'/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/opt/maven/bin:/opt/ant/bin:/opt/jython:/home/luis/myprog'&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* '''os.path.getsize(path)''' - devuelve el tamaño en bytes de un archivo&lt;br /&gt;
* '''os.path.isdir(path)''' - true si el path apunta a un directorio&lt;br /&gt;
* '''os.path.islink(path)''' - true si el path apunta a un link simbólico&lt;br /&gt;
* '''os.path.join(path1[, path2[, ...]])''' - une componentes de path&lt;br /&gt;
* '''os.path.normpath(path)''' - normaliza un path, eliminando separadores duplicados, transformando &amp;quot;/&amp;quot; en &amp;quot;\&amp;quot; en windows, etc&lt;br /&gt;
* '''os.path.realpath(path)''' - normaliza un path, resolviendo links &lt;br /&gt;
&lt;br /&gt;
* '''glob.glob(pathname)''' - Devuelve una lista de paths que matchean con el path pasado que puede usar wildcards. Ej: &amp;quot;/home/luis/images/*/*.gif&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Trabajando con sistemas de ficheros ===&lt;br /&gt;
&lt;br /&gt;
* '''os.access(path, mode)''' - comprueba el acceso a un fichero (ej, comprobar permiso de lectura, escritura, etc)&lt;br /&gt;
* '''os.getcwd()''' - devuelve el directorio de trabajo actual&lt;br /&gt;
* '''os.chdir(path)''' - cambia el directorio de trabajo actual a ''path''&lt;br /&gt;
* '''os.chroot(path)''' - cambia el directorio root del proceso actual (solo unix)&lt;br /&gt;
* '''os.chmod(path, mode)''' - cambia el modo de acceso del path (se pueden usar constantes stat.S_IXXXX)&lt;br /&gt;
* '''os.chown(path, uid, gid)''' - cambia el proopietario del path&lt;br /&gt;
* '''os.link(source, link_name) y os.symlink(source, link_name)''' - crean links 'duros' y simbólicos, respectivamente&lt;br /&gt;
* '''os.listdir(path)''' - lista los nombres de las entradas del directorio especificado&lt;br /&gt;
* '''os.mkdir(path[, mode]) y os.mkdirs(path[, mode])''' - crean directorios con el modo especificado. mkdirs crea los directorios intermedios si no existen.&lt;br /&gt;
* '''os.remove(path)''' - elimina el path (lanza OSError si no es un fichero)&lt;br /&gt;
* '''os.removedirs(path)''' - intenta eliminar directorios recursivamente hasta que un directorio padre no está vacío&lt;br /&gt;
* '''os.rename(src, dst) y os.renames(src, dst)''' - renombran ficheros o directorios. renames renombra directorios intermedios&lt;br /&gt;
* '''os.rmdir(path)''' - elimina un directorio&lt;br /&gt;
* '''os.stat''' - devuelve estructura con información del path&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; os.stat(&amp;quot;/tmp/file&amp;quot;)&lt;br /&gt;
posix.stat_result(st_mode=33188, st_ino=2761989, st_dev=2053L, st_nlink=1, st_uid=0, st_gid=0, st_size=4, st_atime=1314555833, st_mtime=1314555834, st_ctime=1314557080)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* '''os.tmpfile()''' - crea un nuevo fichero y lo abre en modo actualización (&amp;quot;w+b&amp;quot;) y se elimina una vez que no queden descriptores abiertos&lt;br /&gt;
* '''os.walk(top[, topdown=True[, onerror=None[, followlinks=False]]])''' - Generador que recorre la estructura de directorios y ficheros a partir del directorio pasado (de menos profundidad a más profundidad, usar ''topdown=False'' para lo contrario)&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; for root, dirs, files in os.walk(&amp;quot;/tmp/&amp;quot;):&lt;br /&gt;
...     print(&amp;quot;{0} contains: {1}&amp;quot;.format(root, &amp;quot;,&amp;quot;.join(files))&lt;br /&gt;
... &lt;br /&gt;
/tmp/ contains: debug.log,gedit.luis.4232724968,file,.X0-lock&lt;br /&gt;
/tmp/.X11-unix contains: X0&lt;br /&gt;
/tmp/.org.chromium.y7ZDIS contains: SingletonSocket,SingletonCookie&lt;br /&gt;
..&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== módulo shutil ====&lt;br /&gt;
* '''shutil.copy(src, dst)''' y '''shutil.copy2(src, dst)'''. Copian el fichero src en el directorio o fichero dst. ''copy2'' copia adicionalmente los permisos, flags, y tiempos de acceso y modificación.&lt;br /&gt;
* '''shutil.copytree(src, dst[, symlinks=False[, ignore=None]])''' - Copia recursivamente el directorio src en dst&lt;br /&gt;
&lt;br /&gt;
* '''shutil.rmtree(path[, ignore_errors[, onerror]])''' - Elimina recursivamente el directorio path&lt;br /&gt;
* '''shutil.move(src, dst)''' - Mueve un fichero o directorio&lt;br /&gt;
* '''shutil.make_archive''' - Crea archivos tar y zip.&lt;/div&gt;</summary>
		<author><name>Luis.perez</name></author>	</entry>

	</feed>