Booklet A4/A5 - PET: Python Entre Todos - Python Argentina
Booklet A4/A5 - PET: Python Entre Todos - Python Argentina
Booklet A4/A5 - PET: Python Entre Todos - Python Argentina
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
5 Fuse: El API<br />
Fuse: El API<br />
• Podemos acceder a las librerías del sistema para crearlos,<br />
por ej el stdlib de python.<br />
• No tendremos que lidear con kernel panics, reinicios,<br />
utilización de maquinas virtuales para las pruebas, etc.<br />
• Mayor portabilidad, ya que fuse existe en diversos sistemas<br />
operativos.<br />
• Podemos ejecutar nuestros filesystem con permisos de<br />
usuario.<br />
• Facil debugging de los mismos.<br />
El API de fuse funciona por callbacks. Por ejemplo: cuando nosotros accedemos a un<br />
directorio, en nuestra aplicación se llama a getattr, opendir, readdir, releasedir.<br />
create(path, mode) # creación de un archivo<br />
truncate(path, mode) # achicar o agrandar el tamaño de un archivo<br />
open(path, mode) # apertura de un archivoError: BadDrawable<br />
write(path, data, offset) # escritura de un archivo<br />
read(data, lenght, offset) # lectura de un archivo<br />
release(path) # liberación de un archivo<br />
fsync(path) # sincronización de un archivo<br />
chmod(path, mode) # cambio de permisos<br />
chown(path, uid, gid) # cambio de propietario<br />
mkdir(path, mode) # creación de directorio<br />
unlink(path) # eliminación de un archivolink<br />
rmdir(path) # eliminacón de un directorio<br />
rename(opath, npath) # renombrado<br />
link(srcpath, dstpath) # creación de un link<br />
Como se usa<br />
Este es un ejemplo mínimo de lectura y escritura de un archivo, hagamos de cuenta<br />
que estos métodos están en un objeto que tiene un diccionario llamado items con el<br />
path como key y los datos de este como valor<br />
# lectura<br />
def read(self, path, offset, length):<br />
<strong>Python</strong> <strong>Entre</strong> <strong>Todos</strong> (número 3, Julio 2011) — http://revista.python.org.ar