elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Acceder a una variable de una clase de un modulo python desde el exterior
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Acceder a una variable de una clase de un modulo python desde el exterior  (Leído 1,600 veces)
Drakaris

Desconectado Desconectado

Mensajes: 286


Todo lo que puedas imaginar, lo puedes crear.


Ver Perfil
Acceder a una variable de una clase de un modulo python desde el exterior
« en: 12 Septiembre 2021, 23:36 pm »

Código:
.
├── ClassAdmin
│   ├── ClassAdmin
│   │   ├── __init__.py
│   │   ├── settings.py
│   │   ├── static
│   │   │   ├── css
│   │   │   │   ├── fonts.css
│   │   │   │   ├── pageLogin.css
│   │   │   │   └── styles.css
│   │   │   ├── data.json
│   │   │   ├── fonts
│   │   │   │   └── Allura-Regular.ttf
│   │   │   ├── images
│   │   │   │   ├── ClassAdminLogo.png
│   │   │   │   └── wallpaper.png
│   │   │   └── js
│   │   ├── templates
│   │   │   ├── pageLogin.html
│   │   │   └── src
│   │   │       └── base.html
│   │   ├── urls.py
│   │   ├── views.py
│   │   └── wsgi.py
│   ├── ClassAdmin.sqlite3
│   └── manage.py
└── sources
    └── __init__.py

Buenas, tengo un modulo llamado sources que es una carpeta con el archivo __init__.py, en el propio archivo esta la siguiente clase:
Código
  1. class Environment:
  2.    def __init__(self):
  3.        self.directory = os.environ.get("CLASSADMIN")
  4.    def pathDB(self):
  5.        if platform.system() == "Windows":
  6.            return f"{self.directory}\\ClassAdmin\\ClassAdmin.sqlite3"
  7.        elif platform.system() == "Linux":
  8.            return f"{self.directory}/ClassAdmin/ClassAdmin.sqlite3"
  9.    def pathLog(self,name:str):
  10.        if platform.system() == "Windows":
  11.            return f"{self.directory}/{name}.log"
  12.        elif platform.system() == "Linux":
  13.            return f"/var/log/{name}.log"
  14.  
  15.  

Y desde el archivo settings.py haciendo el import quiero acceder a la variable directory que esta en el init de la clase Environment.
Código
  1. from sources import *
  2. STATIC_ROOT = f'{Environment().directory}/ClassAdmin/ClassAdmin/static'
  3.  
Pero esto me devuelve None
Citar
[Errno 2] No such file or directory: 'None/ClassAdmin/ClassAdmin/static/data.json'

Porque pasa esto? si al hacer una clase con una variable self en el init puedes acceder a ella, no entiendo.

Que esta ocurriendo?
Gracias


En línea

Lo increible, no es lo que ves, sino como es
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines