Continuamos con los aspectos básicos de Python y concretamente con uno de los módulos más importantes llamado os, ya en el capítulo anterior vimos una breve introducción de como utilizarlo a través de os.path.isfile(path) y os.path.isdir(path). En esta ocasión utilizaremos una serie de métodos que nos permitirán administrar archivos y carpetas de un modo fácil y intuitivo. En el ejemplo del capítulo crearemos un programa que nos permitirá crear y eliminar carpetas y archivos, para ello haremos uso de los siguientes métodos:
- os.getcwd() : Regresa la ruta absoluta del script python que se está ejecutando
- os.path.isdir(path) : Regresa un valor boolean. True si la carpeta existe en la ruta indicada
- os.path.isfile(path) : Regresa un valor boolean. True si el archivo existe en la ruta indicada
- os.mkdir(path) : Crea la carpeta en la ruta indicada
- os.remove(path) : Elimina el archivo de la ruta indicada
- os.rmdir(path) : Elimina la carpeta de la ruta indicada
#¡IMPORTANTE!
#incluir codificación UTF-8 al archivo para evitar problemas con caracteres latinos
import os
def init():
print("**** ADMINISTRAR ARCHIVOS Y CARPETAS ****")
opcion = input("Selecciona una opción c=crear y e=eliminar: ")
if(opcion == "c"):
ruta = input("Indique la ruta, si no indicas la ruta, la ruta será la actual: ")
if(ruta == ""): ruta = os.getcwd() + "\\"
#Comprobar si la ruta existe
if(os.path.isdir(ruta)):
tipo = input("Indique el tipo a=archivo y c=carpeta: ")
if(tipo == "a"):
archivo = input("Indique el nombre del archivo: ")
#Crear el archivo
manejador = open(ruta+archivo, "w")
manejador.close()
print("Archivo", archivo, "creado con éxito")
elif(tipo == "c"):
carpeta = input("Indique el nombre de la carpeta: ")
#crear la carpeta
os.mkdir(ruta+carpeta)
print("Carpeta", carpeta, "creada con éxito")
else: init() #reiniciamos el programa
elif(opcion == "e"):
ruta = input("Indique la ruta, si no indicas la ruta, la ruta será la actual: ")
if (ruta == ""): ruta = os.getcwd() + "\\"
eliminar = input("Indique el nombre de la carpeta o archivo a eliminar: ")
#Si es un archivo
if(os.path.isfile(ruta+eliminar)):
os.remove(ruta+eliminar)
print("Archivo", eliminar, "eliminado con éxito")
#Si es una carpeta
elif(os.path.isdir(ruta+eliminar)):
os.rmdir(ruta+eliminar)
print("Carpeta", eliminar, "eliminada con éxito")
else: init() #Reiniciar el programa
else: init() #Reiniciar el programa
#llamar a la función
init()
No hay comentarios:
Publicar un comentario