Gestionando archivos
Original aqui
Gracias a Python podemos gestionar archivos de manera cómoda y rápida sin tener que aprender los comandos del sistema operativo (bash, cmd...). De esta manera, sin importar en el sistema operativo en el que te encuetres, podrás manejar tus ficheros eficientemente.
Utilizaremos las librerías 'os, syste, y shutil'.
Ejemplos
Copiando un solo archivo:
Copiando carpetas completas:
Moviendo y renombrando:
Borrando
Enviando a la papelera
Moviéndonos por el directorio
import os
for folderName, subfolders, filenames in os.walk('C:\\delicious'):
print('The current folder is ' + folderName)
for subfolder in subfolders:
print('SUBFOLDER OF ' + folderName + ': ' + subfolder)
for filename in filenames:
print('FILE INSIDE ' + folderName + ': '+ filename)
print('')
La función os.walk () devolverá tres valores en cada iteración a través del bucle:
- Una cadena del nombre de la carpeta actual
- Una lista de cadenas de las carpetas en la carpeta actual
- Una lista de cadenas de los archivos en la carpeta actual
(Por carpeta actual , Me refiero a la carpeta para la iteración actual del bucle for. El directorio de trabajo actual del programa no es cambiado por os.walk ().)
Comprimiendo archivos
>>> import zipfile, os
>>> os.chdir('C:\\') # move to the folder with example.zip
>>> exampleZip = zipfile.ZipFile('example.zip')
>>> exampleZip.namelist()
['spam.txt', 'cats/', 'cats/catnames.txt', 'cats/zophie.jpg']
>>> spamInfo = exampleZip.getinfo('spam.txt')
>>> spamInfo.file_size
13908
>>> spamInfo.compress_size
3828
>>> 'Compressed file is %sx smaller!' % (round(spamInfo.file_size / spamInfo
.compress_size, 2))
'Compressed file is 3.63x smaller!'
>>> exampleZip.close()
Extrayendo archivos
Creando y añadiendo archivos a contenedores zip
info
Para este ejercicio te vendrán bien los siguientes comandos:
Pregunta 24