Problema con archivo config python

Iniciado por Panic0, 16 Marzo 2021, 23:05 PM

0 Miembros y 1 Visitante están viendo este tema.

Panic0

Hola a todos, tengo un problema con un archivo python (config) en este archivo tengo todas las funciones genericas que uso a lo largo de los otros archivos py
Contenido del Config

import os
import sqlite3

#Funciones Genericas
def consul_clave(columna,tabla):
    consulta = puntero.execute(f"select max({columna}) as ulti_clave from ({tabla})")
    resultado = consulta.fetchone()
    return resultado[0]

def consulta_sec(tabla,columna,codigo):
    consulta = puntero.execute(f"select * from {tabla} where {columna} = {codigo}")
    resultado = consulta.fetchone()

    if resultado:
        return resultado, True
    else:
        return resultado, False

def continuar(msj):
    print(msj)
    input("<INTRO> Para continuar ")


def clear():
    if os.name == "posix":
        os.system ("clear")
    elif os.name == "ce" or os.name == "nt" or os.name == "dos":
        os.system ("cls")
    else:
        print("Sistema operativo desconocido!")



#Conexiones
conexion = sqlite3.connect("acme.db", timeout=10)

puntero = conexion.cursor()



La funcion que mas necesito es la clear, esta funcion al momento de importarla a los otros archivos py me sale como que no esta definida.
Y ese seria el problema

Los ataques de pánico suelen comenzar de forma súbita, sin advertencia.

tincopasan


Xyzed

Como menciono @tincopasan, ¿cómo estás importando la función/el archivo?
Tenes dos opciones:

Código (python) [Seleccionar]

#archivo donde tenes las funciones (config.py)
def clear():
    if os.name == "posix":
        os.system ("clear")
    elif os.name == "ce" or os.name == "nt" or os.name == "dos":
        os.system ("cls")
    else:
        print("Sistema operativo desconocido!")





Importar completamente el archivo y pasar el nombre de la función:
Código (python) [Seleccionar]

#archivo donde importas las funciones (general.py)
import config #importas el archivo completamente.
if __name__ == '__main__':
       config.clear() #tenes que pasar el nombre del archivo importado+funcion(config.clear)

Importar solo la función:
Código (python) [Seleccionar]

#archivo donde importas las funciones (general.py)
from config import clear #importas la funcion.
if __name__ == '__main__':
       clear() #como importaste la función, solo mencionas el nombre de la misma y ya.
...

tincopasan

no quería mostrar código sin ver que había intentado pero bue..
hay otra opción que en este caso como son mínimas las funciones se adapta mejor:
Código (python) [Seleccionar]

from config import *
clear()
contunuar()
#etc.

Panic0

Cita de: tincopasan en 17 Marzo 2021, 01:36 AM
¿y cómo la estás importando?

Hola tincopasan, ya logre solucionarlo (era un problema raro con las rutas)

Ah, y lo estaba importando todo
From config import *
Los ataques de pánico suelen comenzar de forma súbita, sin advertencia.