Stack Overflow en español Asked by Isaac Martinez on February 19, 2021
Estoy intentando que al ejecutar una función la clase que estoy ejecutando termine, y siga con la siguiente instrucción o línea de código sin terminar el programa en si.
Yo Intente hacerlo con la siguiente Función:
def end(self):
while(1 != 0):
break
El cual si funciona pero me gustaría saber si hay alguna otra forma de hacerlo.
app.py (inicio del programa)
from classes.order import SortFile
class Main:
def __init__(self):
super().__init__()
sort_file = SortFile()
sort_file.start()
if __name__ == "__main__":
Main()
order.py (esta clase tan se encarga de elegir las funciones a realizar)
from classes.menu import Selection
from classes.controllers import FolderController
from classes.functions.someFuncs import clear_console
class SortFile:
__selector = Selection()
__folder_controler = FolderController()
__folders_register = []
def __init__(self):
super().__init__()
def start(self):
self.__selector.start() #me gustaría terminar la ejecución de
#esta clase (o la función)
self.__get_selected() #para continuar con esta función
print(self.__folders_register)
def __get_selected(self):
clear_console()
for num in self.__selector.response():
self.__check_selection(num)
def __check_selection(self, num):
controller = self.__folder_controler
def enter(data):
self.__folders_register.append(data)
if(num == 1):
enter(controller.documents())
elif(num == 2):
enter(controller.downloads())
elif(num == 3):
enter(controller.music())
elif(num == 4):
enter(controller.pictures())
elif(num == 5):
enter(controller.telegran_desktop())
menu.py (se encarga de hacer los print y obtener los datos del usuario y almacenarlos)
from classes.functions.someFuncs import do_a_print, clear_console
from time import sleep
class Selection:
__menu = """
-> Select The folders to order <-
---------------------------------
-> 1 Documents -
-> 2 Downloads -
-> 3 Music -
-> 4 Pictures -
-> 5 Telegram Download -
-> 6 Hacer todos -
---------------------------------
-> 7 Seleccion multiple -
-> Cualquier otra tecla salir -
---------------------------------
"""
__selected_option = ''
__to_do = []
def __init__(self):
super().__init__()
def __single_selection(self):
res = "Inserte un valor:"
self.__selected_option = do_a_print(self.__menu, True, res)
def __multi_selection(self):
res = "Inserte los valores (precione "d" para finalazar selecion):"
self.__selected_option = do_a_print(self.__menu, True, res)
def __detect_print_menu(self, is_multi):
clear_console()
if(is_multi):
self.__multi_selection()
else:
self.__single_selection()
def __selector(self, is_multi=False):
self.__detect_print_menu(is_multi)
self.__do_selection(is_multi)
def __do_selection(self, is_multi):
s = self.__selected_option
if(str.isdigit(s)):
value = int(s)
if(value == 7):
self.__selector(True)
else:
self.__insert_data(value, is_multi)
elif(s == "d" or "D"):
self.end()
else:
do_a_print(f"{s} no es un valor valido")
sleep(1.5)
self.start()
def __insert_data(self, data, is_multi):
self.__to_do.append(data)
if(is_multi):
self.__selector(True)
else:
self.end()
def start(self):
self.__selector()
def response(self):
return self.__to_do
def end(self):
while(1 != 0):
break
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP