Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - n1sen

#1
vale gracias, era windows 10, pero tuve que formatear el pc y se soluciono, gracias de todos modos
#2
Foro Libre / como se llamaba este hombre?
23 Junio 2018, 01:03 AM
Me refiero a alguien que hacia fallar toda cosa en la que estaba cerca, por eso no lo dejaban entrar a los laboratorios por que las cosas que habian ahi fallarian por su sola presencia. Queria hacer una referencia con eso, pero se me olvido su nombre xD
#3
Hola, tengo un problema algo serio, es que no puedo hacer nada que requiera permisos de administrador.
Me aparece esto: "para continuar escribe el nombre de usuario y contraseña de un administrador."
Cuando abro netplwiz, aparece eso, nada me ha funcionado.
Ayuda, es algo serio. :-(
Estoy muy desesperado
saludos
Gracias de todos modos
#4
Pues lamentablemente te queda reprimir ese enojo por ese "periodista"
Saludos :)
#5
GNU/Linux / Debian se congela al instalar
13 Diciembre 2017, 18:37 PM
Intento instalar Debian, pero se queda congelado, en la parte de Seleccionar e instalar programas. No reacciona el teclado ni el mouse (en realidad se apago)
Mas especificamente, se queda congelado al instalar "discover (amd64)"
Ya he intentado instalar por modo texto y igual se congela.
Espero que me ayuden
#6
El problema qu tengo, es que cuando quero añadir es que me tira este error:

  File "/home/n1sendev/Escritorio/TarketakVOS/exe_read.py", line 22, in UnpickleExecutable
    unpickled_obj = load(f)
_pickle.UnpicklingError: invalid load key, ''.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "main.py", line 46, in <module>
    main()
  File "main.py", line 35, in main
    boot_func()
  File "/home/n1sendev/Escritorio/TarketakVOS/boot.py", line 10, in boot_func
    loginMain()       
  File "/home/n1sendev/Escritorio/TarketakVOS/login.py", line 44, in loginMain
    maincmd()
  File "/home/n1sendev/Escritorio/TarketakVOS/usr_shell.py", line 62, in maincmd
    UnpickleExecutable(cmd_input)
  File "/home/n1sendev/Escritorio/TarketakVOS/exe_read.py", line 24, in UnpickleExecutable
    except pickle.UnpicklingError as pic_errno1:
NameError: name 'pickle' is not defined


Intente que se evitara eso con un try-except. En este caso, el error que quero evitar es el de _pickle.UnpicklingError,
pero como se ve, me dice que pickle no esta definido.
Aca les dejo un fragmento del codigo:
Código (python) [Seleccionar]

try:
    unpickled_obj = load(f)
     ReadExecutebleIns(unpickled_obj, path)
except pickle.UnpicklingError as pic_errno1:
    print("!Invalid binary: %s" % pic_errno1)

Tambien intente poner _pickle.UnpicklingError pero aun sigue el problema
Saludos!
#7
Scripting / Problemas...
7 Diciembre 2017, 01:16 AM
Pues, eso vengo a molestar otra vez, con otro problema:
Resulta que he estado programando una "especie de formato ejecutable"
y este ejecutable se guarda serializado en un archivo.
La cosa es que ya vine a preguntar como resolver un problema que tenia con otro codigo. ([Python3]Unir dos listas en una)
Resulta que ese era un "compilador" para compilar codigo de una especie de "assembler" que cree para que se convierta en este ejecutable.
Tengo un archivo llamado "exe_read.py" que lee este fichero ejecutable que cree.

Y el problema?

Resulta que el modulo pickle, solo toma objetos para serializar de listas, y no de archivos, asi que tuve que hacer este "compilador"

;TarketakVOS Assembler
STR_PRINT "Hola mundo!"
DIV("El numero 5 en 5 cabe:", 5, 5)
INT("test", "54")

Ese es el assembler que cree

Cuando "compilo" este archivo con el "compilador", compila, pero al ejecutarlo con el archivo "exe_read.py" no ejecuta.
Sin embargo, si envez de usar este compilador que lee las instrucciones de un archivo envez de una lista, cree este script.
Código (python) [Seleccionar]

from _pickle import dump, dumps, load, loads

obj = ['STR_PRINT "Hola mundo"', 'DIV("El numero 5 en 5 cabe:", 5, 5)', 'INT("test", "54")']

with open("e.cex", "wb") as f:
    dump(obj, f)



Lo "compila", y... sorpresa! cuando lo ejecuto con el archivo "exe_read.py" funciona.
Espero que me hayan entendido.
Les dejo el codigo de los scripts mencionados:

exe_read.py:
Código (python) [Seleccionar]

from _pickle import dump, dumps, load, loads
from system_instr import *
import sys
import os

global os_name
os_name = os.name


def UnpickleExecutable(filepath):
    try:
        try:
            file = filepath.split("'")
            path = file[1]
        except IndexError:
            file = filepath.split('"')
            path = file[1]

        with open(path, "rb") as f:
            #Los archivos executables .cex son creados y leidos con _pickle en binario
            unpickled_obj = load(f)
            ReadExecutebleIns(unpickled_obj, path)

    except FileNotFoundError:
        print("File not founded.")
    except IndexError:
        print("Usage: exe 'executable.cex'")

def ReadExecutebleIns(unpickled_obj, filename):
    #Esta funcion lee las instrucciones extraidas del ejecutable
    for EXEOBJ in unpickled_obj:
        print(EXEOBJ)
        if "STR_PRINT" in EXEOBJ: #Mustra en un texto en pantalla
            PRINTSTR = EXEOBJ.split('"')
            Text = PRINTSTR[1]
            print(Text, flush=True)

        elif "CMD_PAUSE" in EXEOBJ: #Pausa la consola
            shudder_data = input("Press any key to continue... ")
            shudder_data = None

        elif "EXIT" in EXEOBJ: #Sale del programa
            pass

        elif "CLEARSCR" in EXEOBJ: #Limpia la pantalla
            if os_name == 'posix':
                os.system("clear")
            elif os_name == 'nt':
                os.system("cls")
            else:
                pass
        elif "ADD" in EXEOBJ:
            exec(EXEOBJ)

        elif "SUB" in EXEOBJ:
            exec(EXEOBJ)

        elif "MUL" in EXEOBJ:
            exec(EXEOBJ)

        elif "DIV" in EXEOBJ:
            exec(EXEOBJ)

        elif "DIV_INT" in EXEOBJ:
            exec(EXEOBJ)

        elif "PUSH" in EXEOBJ:
            exec(EXEOBJ)

        elif ";" in EXEOBJ:
            pass

        else: #En caso que haya una intruccion invalida...
            print('!Illegal instruction "%s" in %s' % (EXEOBJ, filename))


el "compilador":
Código (python) [Seleccionar]

import os, sys
from _pickle import dump, dumps, load, loads
from system_instr import *

def ASM_File(filepath):
    try:
        try:
            file = filepath.split("'")
            path = file[1]
        except IndexError:
            file = filepath.split('"')
            path = file[1]

            PRG(path)

    except IndexError:
        print("Usage: tkasm 'program.asm'")

def PRG(path):
    asm_file_cont = []
    out_file = input("Output file name..: ")
    with open(path, 'r') as inputfile:
        with open(out_file, 'wb') as outputfile:
            for f1 in inputfile:
                f1 = [f1[:-1]]
                asm_file_cont.append(" ".join(f1))#por tu ejemplo lo convierto a cadena
                dump(asm_file_cont, outputfile) 
                                                                 #supogo que es para escribir el contenido en el otro archivo
    print(asm_file_cont)


y del "assembler" donde estan las instrucciones para este "compilador":

;TarketakVOS Assembler
STR_PRINT "Hola mundo!"
DIV("El numero 5 en 5 cabe:", 5, 5)
INT("test", "54")


Me ubiese ahorrado todo esto si el modulo pickle hiciera algo tan simple como poder leer de un archivo los objetos a hacer "dump" aparte de solo una lista...
Saludos
#8
Leete la documentacion de Python. Ahi aparace de que se trata ese modulo y de muchos mas
#9
Scripting / Re: [Python 3] Unir dos listas en una
7 Diciembre 2017, 00:03 AM
Gracias, funciono. La funcion dump es una funcion del modulo pickle (un modulo para serializar objetos)
#10
Scripting / Re: [Python 3] Unir dos listas en una
5 Diciembre 2017, 01:38 AM
Gracias, pero nada me ha servido, ahora me retorna listas vacias. Y aun separadas

Código (python) [Seleccionar]
def PRG(path):
    out_file = input("Output file name..: ")
    with open(path, 'r') as inputfile:
        with open(out_file, 'wb') as outputfile:
            for f1 in inputfile:
                asm_file_cont = []
                f1 = [f1[:-1]]
                asm_file_cont + f1
                dump(asm_file_cont, outputfile)
                print(asm_file_cont)