Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: Panic0 en 16 Marzo 2021, 23:05 pm



Título: Problema con archivo config python
Publicado por: Panic0 en 16 Marzo 2021, 23:05 pm
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
Código:
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
 


Título: Re: Problema con archivo config python
Publicado por: tincopasan en 17 Marzo 2021, 01:36 am
¿y cómo la estás importando?


Título: Re: Problema con archivo config python
Publicado por: Xyzed en 17 Marzo 2021, 02:37 am
Como menciono @tincopasan, ¿cómo estás importando la función/el archivo?
Tenes dos opciones:

Código
  1. #archivo donde tenes las funciones (config.py)
  2. def clear():
  3.    if os.name == "posix":
  4.        os.system ("clear")
  5.    elif os.name == "ce" or os.name == "nt" or os.name == "dos":
  6.        os.system ("cls")
  7.    else:
  8.        print("Sistema operativo desconocido!")
  9.  


Importar completamente el archivo y pasar el nombre de la función:
Código
  1. #archivo donde importas las funciones (general.py)
  2. import config #importas el archivo completamente.
  3. if __name__ == '__main__':
  4.       config.clear() #tenes que pasar el nombre del archivo importado+funcion(config.clear)
  5.  
Importar solo la función:
Código
  1. #archivo donde importas las funciones (general.py)
  2. from config import clear #importas la funcion.
  3. if __name__ == '__main__':
  4.       clear() #como importaste la función, solo mencionas el nombre de la misma y ya.
  5.  


Título: Re: Problema con archivo config python
Publicado por: tincopasan en 17 Marzo 2021, 03:34 am
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
  1. from config import *
  2. clear()
  3. contunuar()
  4. #etc.
  5.  


Título: Re: Problema con archivo config python
Publicado por: Panic0 en 18 Marzo 2021, 18:04 pm
¿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
Código:
From config import *