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ú

Temas - n1sen

#1
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
#2
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
#3
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
#4
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!
#5
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
#6
Scripting / [Python 3] Unir dos listas en una
4 Diciembre 2017, 02:40 AM
Vengo a preguntar como unir dos listas en una, he intentado con .join y .append pero no ha funcionado.
Tengo esta lista:

['STR_PRINT "Hola mundo!"']
['DIV("VOID", 5, 5)']
['INT("test", "54")']
['']


Como se ve, cada linea esta en una lista distinta. (se esta leyendo de un archivo)
Deberia estar asi:

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

Aca tengo un fragmento del codigo que me genera problema:
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[:-1]] #El [:-1] es para quitar el salto de linea
                dump(asm_file_cont, outputfile)
                print(asm_file_cont)

Saludos
#7
Alguien sabe como se puede saber la codificacion de un archivo de texto, por ejemplo si es ASCII UTF-8 o binario
He buscado en internet pero nada me sirve
Saludos!
#8
Duda no resuelta, y de paso idea abandonada  :-( Pero si saben como responder, aganlo igual me sirve

Pues eso, esa es mi duda como lo dice el titulo. En VirtualBox logre arrancar con un "bootloader" que programe en assembler, seguiendo una guia que encontre en internet.
El problema es que viendo la guia entera, terminas con mas de 3000 lineas de codigo programadas en assembler, solo para recibir comandos y leer el teclado, algo que en cualquier lenguaje como C puedes hacerlo con algo de 200 lineas o menos.
Asi que la duda seria como compilar un programa en C a un .iso. Nota, el "bootloader" programado en assembler que bootea la maquina debe estar si o si en el mismo .iso o no arranca la maquina. Asi que en teoria, el "bootloader" debe tener una forma de llamar a ese codigo programado en C que leeria y recibiria comandos.

Aca les dejo el codigo del "bootloader" que hice:
Código (asm) [Seleccionar]
EBIOSVIDEOINT       equ 16 ;Servicio de video de la BIOS
EBIOSTTYOUTPUTFN    equ 14 ;Funcion de video TTY (teletipo) de salida de la BIOS

   cpu 8086 ;La CPU minima donde puede funcionar este codigo
Start:
           mov ax,cs ;carga el segmento de codigo
           mov ds,ax ;carga el segmento de info.
           call .10
           db 'Hola mundo! ',13,10,0 ;String que se imprimira
.10         pop si
           call PutString ;Llamado a la funcion PutString
.20         hlt
           jmp .20

PutString:   mov ah,EBIOSTTYOUTPUTFN ;Funcion de teletipo de la BIOS
.10          lodsb
            or al,al
            jz .20
            int EBIOSVIDEOINT ;llama a la interrupcion de video de la BIOS
            jmp .10 ;repite hasta que termina
            ret ;Retorna a el llamado call PutString
.20




Como ven, muestra en pantalla la cadena "Hola mundo!" y arranca la pc, y lo mejor, se ejecuta directamente en el procesador y la BIOS
La funcion de leer el teclado y recibir comandos, seria hacerlo en C, si lo hacemos en assembler... ya saben.
Si no me entienden mandemen un PM (mensaje privado)
Saludos

PD: Estoy en Linux Mint, nasm como ensamblador de asm.
ah, y los comandos para convertir el codigo en un archivo .img:
nasm bootloader.asm  -o bootloader.bin
Eso de arriba ensambla en codigo no en un .o si no en un .bin
dd if=/dev/zero of=floppy.img bs=1024 count=1440
dd if=bootloader.bin of=floppy.img seek=0 count=1 conv=notrunc

Se crea la imagen de disquette (en este caso es el floppy.img que despues ejecutamos como dispositivo de arranque en Oracle VirtualBox.
Solo funciona para Linux, en Windows, no tengo idea como se haria


PD2: Lei por ahi en una pagina de StackOverflow que alguien dijo que "tecnicamente cualquier programa que se ejecute sin SO es un SO".
El texto original estaba en ingles
#9
Tengo un error que me esta sacando de quisio, hace un dia funcionaba perfecto, pero no se que paso, este es el error que me tira:

Traceback (most recent call last):
 File "cmd_main.py", line 49, in <module>
   maincmd()
 File "cmd_main.py", line 28, in maincmd
   date(cmd_input)
TypeError: an integer is required (got type str)

No se que rompi, solo dejo de funcionar derrepente...
Aca el codigo del cmd_main.py
Código (python) [Seleccionar]
#!/usr/bin/python3
# -*- coding: utf-8 -*-

import platform
import sys
from boot import *
from commands import *
from panic import *
from dir_cmd import *
from date_cmd import *
from mkdir import *

global machine_name
machine_name = platform.node()

def maincmd():
   while True:
       cmd_input = input("[%s]$~ " % machine_name)

       if "println" in cmd_input:
           println(cmd_input)

       elif "clear" in cmd_input:
           clear()
           maincmd()

       elif "date" in cmd_input:
           date(cmd_input)

       elif "machine_info" in cmd_input:
           machine_info()

       elif "panic" in cmd_input:
           panic("ran_out_mem")

       elif "dr" in cmd_input:
           dr(cmd_input)
       
       elif "mkdir" in cmd_input:
           mkdir(cmd_input)

       elif "commd_list" in cmd_input:
           commd_list(cmd_input)

       else:
           invalidCommand(cmd_input)

login()
maincmd()

y el codigo del date_cmd.py:
Código (python) [Seleccionar]
#!/usr/bin/python3
# -*- coding: utf-8 -*-

import calendar
from datetime import datetime, date, time, timedelta
import time

def date_cmd(args):
   date_now = datetime.now()
   time_epoch = time.time()

   try:
       cmd_input = args.split(' ')
       argument = cmd_input[1]

       if argument == "-e":    
           print("Epoch time: %s" % time_epoch)

       elif argument == "-12":
           date_format_12 = "%d/%m/%Y %I:%m %p"
           date_12 = date_now.strftime(date_format_12)

           print("Date (12 hours format): %s" % date_12)

       elif argument == "-24":
           date_format_24 = "%d/%m/%Y %H:%M:%S"
           date_24 = date_now.strftime(date_format_24)

           print("Date (24 hours format): %s" % date_24)

       elif argument == "-h":
           print(help_arg)

       else:
           print("\033[1;36m"+'invalid argument for "date" command')
           help_arg()

   except IndexError:
       help_arg()
   except TypeError:
       help_arg()

   finally:
       print("\033[;37m")

def help_arg():
   print("""Date command made by n1sendev.
╔════════════════════════╗
║ \"date\" command help:   ║
╠════════════════════════╩═════════════════════════════╗
║Arguments (options):                                  ║
║                                                      ║
║-12 = Display the date and the hour in 12-hour format.║
║-24 = Display the date and the hour in 24-hour format.║
║-e = Display the date and time in epoch format.       ║
║-h = Display this help menu.                          ║
╚══════════════════════════════════════════════════════╝
              """)
   

Saludos
PD: Esas palabras raras que empiezan con & alparecer es un bug del foro, ya que enrealidad son carcacteres para dibujar cajas, estan en ASCII
#10
Hardware / Tarjeta de red muerta?
14 Noviembre 2017, 22:29 PM
Resulta que la tarjeta de red de mi PC dejo de funcionar derrepente...
Apague el pc, y lo encendi denuevo, ya que el pc se habia congelado (el Alt+REISUB no funciono nunca) cuando denuevo no encendia la luz de la tarjeta de red no prendia, y el sistema operativo (en este caso Linux Mint) no reconocia la tarjeta de red.
Lo peor es que tengo esas pc all-in-one, osea todos los componentes van soldados a la placa.
Espero que me ayuden.  :-(
Saludos.
#11
Es seguro instalar Ubuntu con Windows 10 usando dualboot?
No hay riesgo de que la instalacion falle y se joda la pc?
Lo de particionar el disco, no me preocupa, ya tengo mis datos respaldados.
Saludos
#12
GNU/Linux / Posible bug en Ubuntu live?
3 Noviembre 2017, 00:18 AM
Me paso cuando probaba Ubuntu antes de instalarlo con Windows usando dual-boot
Al parecer, hay un bug en Ubuntu 17.10, el cual se trata de cuando una abre el apartado de aplicaciones y busca algo en la barra de búsqueda, se queda pegado el computador, no reacciona más.
Estaba en live (mas específicamente con un USB)
Saludos
#13
Hola, hoy vengo a preguntar si alguien me recomienda una pagina o tutorial para aprender C++.
Pero que sea un tutorial completo, que cubra todo lo que tiene el lenguaje, ya que he visto varios tutoriales que nunca nombran cosas mas complejas como por ejemplo crear nuestras propias librerías, abrir ficheros, etc.
Ya se programar en C y Python.
Gracias y saludos  :)
#14
Estoy teniendo este error cuando intento abrir un archivo en Python:

Traceback (most recent call last):
 File "C:\Users\usuario\Desktop\juego\main.py", line 249, in <module>
   main.part1()
 File "C:\Users\usuario\Desktop\juego\main.py", line 235, in part1
   ob.snake()
 File "C:\Users\usuario\Desktop\juego\ob.py", line 3, in snake
   r = open("ascii1.txt", mode='r')
FileNotFoundError: [Errno 2] No such file or directory: 'ascii1.txt'

Dice que el archivo llamado ascii1.txt no existe, cuando si existe
Me esta agotando la paciencia, no logro hacer que funcione
Gracias  >:(
#15
Hola, me pregunto si alguien conoce una pagina de arte ASCII que no tenga copyright
Ya que estoy haciendo un juego de tipo texto, osea, sin gráficos 2D ni 3D, solo consola, no he tenido ningún problema excepto este, donde no encuentro ninguna pagina sin copyright.
conozco esta pagina => http://www.chris.com/ascii/ pero el dueño de la pagina dice que no son suyos, de que son una colección que ha encontrado por intenet.
#16
Aveces me pregunto como hacer un lenguaje de programación, he visto paginas, nada me aclara, siempre veo que dicen "busca un lenguaje que se paresca al que quieres crear". Una vez intente hacer un interprete en Python, funcionaba, pero era muy básico, el código era ineficiente y mal programado, pero funcionaba!, aunque le faltaba lo mas básico, las variables, lo cual me genero muchos problemas...
El lenguaje que estaba programado tenia una """sintaxis""" igual a Python y Ruby.
De paso les dejo una muestra del lenguaje que estaba haciendo:

~Este es un comentario
putsln "Hola"
add "5" "5" ~Suma 5 mas 5 y lo muestra en pantalla


#17
Hola, la duda que tengo es si me recomiendan remplazar Windows 10 por Ubuntu, pero no usando un dual-boot, si no instalar Ubuntu completamente.
Cabe decir que mi PC es una basura, tiene solo 2GB de RAM, por suerte tiene un procesador de 64-bits.
El problema, es que no podre jugar a algunos juegos, uno que tengo no se puede usar con Wine, ya que no es un .exe común, si no es descargado desde la Windows store (es algo así como esas aplicaciones para Windows 8 y Windows 10)
También, programo, pero no hay problema en ese apartado, ya que todos los IDE e interpretes están en Ubuntu. (a excepcion de Notepad++, pero se puede ejecutar en Wine, y Dev-C++, aunque esta abandonado hace tiempo, ahora uso CodeBlocks)
Gracias
#18
Hola!, hoy tengo una duda, y es la siguiente: He estado haciendo un editor de textos en Python, lo estoy haciendo en consola. Pero la duda es que, como puedo mover el cursor? Me refiero al cursor donde aparece para ingresar texto, se queda en una parte, y yo lo quiero mover con las flechas del teclado, para poder modificar texto en una parte concreta.
Acá dejo el código de lo que tengo hecho:
Código (python) [Seleccionar]

# -*- coding: <utf-8> -*-
'''
El parametro "w" significa escritura
El parametro "a" significa agregar
El parametro "r" significa leer
'''
import os
os.system('cls') # Limpia la pantalla

try:
while True:
os.system('cls')
print("Opciones: [1]Abrir archivo [2]Modificar archivo [3]Salir")
opcion = int(input("Opción: "))

if opcion == 1:
os.system('cls')
rutar = input("Ruta del archivo: ")
os.system('cls')

archivo = open(rutar, "r", encoding = 'utf-8') # El archivo se abre con codificación UTF-8

os.system('cls')
for linea in archivo.readlines():
print(linea[:-1])

os.system("pause>nul")
archivo.close()
# input("Presione ENTER para salir...")
elif opcion == 2:
os.system('cls')
rutar = input("Ruta del archivo: ")
os.system('cls')

archivo = open(rutar, "r+", encoding = "utf-8")
for linea in archivo.readlines():
print(linea[:-1])
archivo.write(input("~ "))

archivo.close() # Cierra el archivo
# input("Presione ENTER para salir...")
elif opcion == 3:
print("Hecho por n1sen!")
break
except FileNotFoundError:
print("No se ha encontrado el archivo")



Se que se puede hacer con las funciones seek(), pero de ahí me quede bloqueado...
Gracias.
#19
Hola, recien he comenzado a aprender Java, y hice el tipico Hola mundo, pero el problema es que cuando lo ejecuto,
funciona y me imprime hola mundo, pero también aparece en la consola esto: picked up _java_options xmx512m
Como se puede eliminar eso?
Gracias.
Acá dejo el código por si acaso
Código (java) [Seleccionar]

public class HolaMundo {

public static void main(String[] arg){
System.out.print("Hola mundo!"); //Imprime un texto en pantalla
}

}

Uso Eclipse como IDE
Edito: He solucionado el problema. Habia que borrar la variable de entorno que se llama _java_options.
#20
Pues eso, me gustaría saber en que host esta alojado este foro.
Espero que no sea información confidencial...

:-*
#21


Por favor, si te ha gustado o te ha funcionado, guarda esta página en tus marcadores, ya que cada vez le iré añadiendo más información y también por que lamentablemente se perderá en todos los temas que se publican acá  :-(.



Hola, hoy vengo a dar un aporte, que es el siguiente: como convertir de .py a .exe
Bien, sin mas preámbulo empecemos:


1 - Primero de todo, necesitamos pywin32.
Para eso, vamos a la siguiente página: Python for Windows Extensions



Acá, como vemos en la imagen, veremos muchas versiones para descargar.
La versión que quieras descargar depende de tu pc y de la versión de Python que usas.
En este caso, yo tengo un pc de 64 bits y uso Python 3.6, así que descargare la versión que dice: pywin32-221.win-amd64-py3.6.exe
Si tienes un pc de 32 bits y usas Python 3.6, descarga la versión que dice pywin32-221.win32-py3.6.exe
Si usas otras versiones de Python, ahí puedes elegir según la versión que tengas.


2 - Ahora instalaremos el módulo pyinstaller
Ahora tenemos que abrir el Símbolo de sistema (cmd) en modo administrador.
Para eso, presionamos la tecla Windows y la tecla "x", ahí les aparecerá lo siguiente "Símbolo de sistema (administrador)"
le das clic y le das permiso...

Otra seria buscar en la barra de tareas, y poner cmd, le dan clic derecho y de ahi le dan a "Ejecutar como administrador"

Ya, una vez ya abierto nuestro cmd en modo administrador, ponemos esto:
Código (bash) [Seleccionar]
pip install pyinstaller
De ahi les cargara y esperan a que se termine de instalar.



En mi caso no lo instalo por que ya lo tengo instalado  :rolleyes:
Si quieren actualizar o ver si hay actualizaciones para el módulo pyinstaller
pongan:
Código (bash) [Seleccionar]
pip install --upgrade pyinstaller

Si quieren ver más; acá les dejo la página de pyinstaller: Pyinstaller Page
Ahí tienen la documentación y más información.


3 - Ahora viene lo divertido, compilamos de .py a .exe!
Creamos un programa cualquiera en Python:

Código (python) [Seleccionar]

print("Hola mundo!")

input("") # Es para evitar que se salga el programa


Ahora abrimos otra vez el cmd, esta vez en modo normal, presionando la tecla Windows y la tecla "r"
de ahi ponen cmd y dan a enter.

Una vez ya abierto el cmd, escribimos cd y seguido de de la ruta del archivo
Ejemplo:
Código (bash) [Seleccionar]
cd C:\Users\usuario\Desktop\
No así:
Código (bash) [Seleccionar]
cd C:\Users\usuario\Desktop\miprograma.py



Empieza lo divertido, convertir a .exe!
Escribimos ahora en el cmd lo siguiente:
Código (bash) [Seleccionar]
pyinstaller nombre_del_programa.py

De ahi, presionas enter, y empieza a compilar!



Suele tirar unas advertencias, sobre que falta un .dll, pero no hay de que preocuparse, por que el mismo pyinstaller los crea.

Ahora si  nos fijamos, en la carpeta o donde sea donde estaba tu programa en .py, se crean 3 carpetas y 1 archivo


Por ahora nos interesaremos en la carpeta "dist", entramos a ella,
de ahí encontraremos una carpeta, entramos a ella, y veremos muchos archivos.
El que nos interesa ahora es el archivo compilado, tiene el nombre del archivo en .py que compilaste,



Simplemente le damos clic y ahí esta! Nuestro programa en .exe!




4 - Extras
-Poner icono al .exe

Si de casualidad quieren que su .exe tenga un icono personalizado, se hace lo siguiente:

Ojo! el icono tiene que estar en formato .ico

En mi caso, cree esta belleza del arte en GIMP xD



Ahora vamos a cmd y escribimos:
Código (bash) [Seleccionar]
pyinstaller nombre_de_nuestro_programa.py -i nuestroicono.ico

De ahí crea el .exe con el icono que hemos hecho!

-Si mi programa tiene interfaz gráfica y no depende de la consola, como elimino la consola?

Es sencillo, hace lo siguiente:
Código (bash) [Seleccionar]
pyinstaller nombre_de_nuestro_programa.py --noconsole
y listo.

-Dar una mejor "presentación" al programa

Cuando tengamos nuestro programa compilado, se crean 3 carpetas y 1 archivo, como dije anteriormente,
creamos una carpeta con el nombre que queramos, de ahí arrastramos todos esos archivos creados.
Ahora entramos a la carpeta que creamos y creamos otra carpeta, con el nombre que quieran,
pero recomiendo que le pongan algo como "archivos del programa" etc.

Ahora arrastramos los archivos a la carpeta que creamos
Entramos a la carpeta,de ahí a dist y buscamos nuestro .exe, le damos doble clic y creamos una acceso directo,
ese acceso directo lo arrastramos a la primera carpeta que creamos, le podemos cambiar el nombre a el acceso directo.












Muchas gracias por leer, si tienes una duda, algo no ha funcionado, etc, no dudes en comentar.
Gracias  ;)

Si les gusto o les funciono esto, por favor pongan este tema en sus marcadores, ya que quisas se pierda en todos los temas...




Editado:
Si están en una distro de Linux, pueden probar el py2exe de el usuario Sentex
Cita de: Sentex en 29 Septiembre 2017, 18:23 PM
Para los que trabajéis en linux como yo xd aquí  tenéis la solución!

www.github.com/MrSentex/py2exe/

No es el py2exe normal y corriente es que me quede sin ideas XD.

Aca está la página del py2exe creado por Sentex.




MOD: Imágenes adaptadas a lo permitido.
Ok. Pero si no tengo idea como adaptarlas! No es mi culpa, y si las adaptaba se les bajaba la resolución
#22
Hola, primero de todo, tengo que explicar de que se trata este código, es una especie de interprete, para un lenguaje de programación (?) que cree yo (ver este tema mio, [Python 3.6] Un intento de no se que... para más información)
Acá el código:
Código (python) [Seleccionar]

import os

filepath = "C:/Users/darling/Desktop/prueba2.ocl" # input("Ruta del archivo: ")

archivo = open(filepath, "r", encoding = 'utf-8') # Abre el archivo con codificado UTF-8

for linea in archivo.readlines():

    if "add" in linea: # "add" Indica que los proximos numeros que esten entre comillas simples seran sumados
        arreglo = linea.split('"')
        arreglo2 = linea.split('"')
           
        # print(arreglo[1])
        # print(arreglo2[1])

        num1 = arreglo[1]
        num2 = arreglo2[1]

        int(num1)
        int(num2)
   
        total = float(num1) + float(num2)
        print(total)

    elif "$$" in linea: # $$ Indica que hay un comentario
        pass

    elif "clrscr()" in linea: # clrscr() indica en el código que se ha de limpiar la pantalla
        os.system('cls')
 
    elif "int" in linea: # "int" Indica que es una variable de tipo entero
        varName = linea.split('"') # Nombre de la variable
        varValue = linea.split('|') # Valor de la variable
       
       
        if "putsln" in linea:
            putslnFunction = linea.split('"')

            if putslnFunction[1] == varValue[1] :
                print(varValue[1]) # envez de imprimirme el valor de la variable, me imprime el nombre de la variable!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

            elif putslnFunction[1] == '':
                print("is null!")
       

        # print(varName[1])
        # print(varValue[1])

    elif "putsln" in linea:
        putslnFunction = linea.split('"') # putsln Indica que se imprimira un texto
        printedText = putslnFunction[1]
   
        '''
        if printedText == '':
            print(printedtext)
        else:
            print(printedText) # Imprime el texto que se ha introducido en la función putsln. Ejemplo: putsln "Hola!"
        '''

        print(printedText) # Imprime el texto que se ha introducido en la función putsln. Ejemplo: putsln "Hola!"

archivo.close()

print("Code execution finished.")
os.system('pause')



Bueno, como aparece en el código (línea 40), envés de darme el valor de la variable, me da el nombre, he intentado de todo y no lo logro hacer funcionar.  :-(
Gracias.  :)
#23
Hola, estaba aburrido y programe esto:

Código (python) [Seleccionar]

import os

filepath = input("Ruta del archivo: ")

archivo = open(filepath, "r", encoding = 'utf-8') # Abre el archivo con codificado UTF-8

for linea in archivo.readlines():
   
   if "$$" in linea: # $$ Indica que hay un comentario
       pass

   elif "add" in linea: # "add" Indica que los proximos numeros que esten entre comillas simples seran sumados
       arreglo = linea.split('"')
       arreglo2 = linea.split('"')
       # print(arreglo[1])
       # print(arreglo2[1])
       num1 = arreglo[1]
       num2 = arreglo2[1]

       int(num1)
       int(num2)
   
       total = float(num1) + float(num2)
       print(total)

   elif "clrscr()" in linea:
       os.system('cls')
 
   elif "int" in linea: # "int" Indica que es una variable de tipo entero
       varName = linea.split('"') # Nombre de la variable
       varValue = linea.split('|') # Valor de la variable

       print(varName[1])
       print(varValue[1])

   elif "putsln" in linea: # putsln Indica que se imprimira un texto
       putslnFunction = linea.split('"')
       printedText = putslnFunction[1]
   
       if printedText == varName[1]: # <== NO FUNCIONA
           print(varValue[1])          
       elif printedText == '':
           print("is null!")
       else:
           print(printedText)

archivo.close()

print("Code execution finished.")
os.system('pause')



Bueno, practicamente seria un """""lenguaje de programación""""" (notese la cantidad de comillas) que cree, para escribir código en este """""lenguaje de programación""""" , se hace en un fichero
con extensión .ocl, aunque le puedes poner cualquier extension...
Ejemplo:

$$Este es un comentario

putsln "áéíóú ÁÉÍÓÚ äëïöü àèìòù"
putsln "Ñandú!"
add "5" "5"
int "variable" |8|
putsln "variable"


Si, una de las sintaxis mas raras. Parece una amalgama de lenguajes
La funcion "add" suma numeros
La función "putsln" imprime texto en pantalla
La función int, es para variables, funciono, hasta que intente que se pueda imprimir variables con la función "putsln"

Como dije anteriormente, ahi empeze a tener problemas, ya que me aparecia que la variable varName (que es el nombre a la variable) y varValue (que es el valor de la variable) no estaban definidas, pero si lo están.

PD: en sí, las partes donde se usa split, lo saque de un código donde me ayudo engel lex, en un tema que cree [Python 3.6] Como hacer que python lea una cadena especifica de un fichero?
#24
Esa es mi duda, si es mejor usarlo en una maquina virtual como la Oracle VM, o usando un dual-boot con Windows 10 y Kali Linux?
Gracias :)
#25
Hola, vengo a preguntar lo que dice en el titulo, me explico:
Por ejemplo, yo en un fichero de texto tengo lo siguiente:
hola como estas

En vez de que me abra todo el archivo, necesito que lea una cadena especifica, en este caso, quiero que solo lea la cadena
"estas".

No pongo código de avance por que lo único que tengo es lo de abrir y cerrar ficheros.
Por las dudas, si busque por internet y no he encontrado nada.
Gracias.
#26
Hola, hoy vengo a contar este problema que he tenido, me aparece lo que dice en el titulo.
He intentado reinstalar los drivers (en este caso Realtek) y aun no funciona, ni la solución de problemas de Windows (bueno, esa m**** nunca ha funcionado)
También he buscado en internet tutoriales sobe como corregirlo y nada.
También he intentado ir a administrador de dispositivos, pero Windows me dice que los drivers están actualizados, tengo todas las actualizaciones de Windows al día...
Cabe resaltar que ya me ha pasado, pero la vez que me paso fui a administrador de equipos y ahí si me funciono.
Espero que me ayuden  :-(
Gracias.
#27
Scripting / Un IDE para Python que me recomienden?
23 Septiembre 2017, 20:41 PM
Hola, vengo a preguntar que IDE me recomiendan para Python, se que hay muchos, yo actualmente uso Sublime Text 3, que en realidad es un editor de código.

Ya he probado PyCharm pero es de pago, y consume como 450MB de RAM, (he de decir que mi PC tiene 2GB de RAM, pues no puedo comprarme otro PC)

También uso Geany, pero no me convence, al igual que Sublime Text 3.
Gracias :)
#28
Me refiero a que en algunos temas, envés de aparecer la URL aparece texto; Por ejemplo: google.com, aparece como Google. Sin el .com, pero al presionarlo aún se puede acceder a la página original.
Como se hace eso?
Gracias, son solo dudas.
#29
.NET (C#, VB.NET, ASP) / Aprender VB.NET O VB.6?
22 Septiembre 2017, 00:49 AM
Hola, hoy vengo a molestar preguntando cual de los 2 lenguajes es mejor, cual es mas optimo, etc.
Me interesa aprender VB, ya que veo que es de alto nivel. Pero por eso la pregunta, VB.NET O VB.6?
Gracias.
#30
Scripting / Calculadora en Python con Tkinter! (v1.2)
17 Septiembre 2017, 23:27 PM
Version 1.2, añadido calculo de coseno, seno, tangente y logaritmo
Hoy les vengo a traer algo que es bastante simple la verdad, que se trata de, como lo dice su titulo, una calculadora en Python usando Tkinter.
También evita que se pueda dividir por 0 ya que no se puede hacer esa división.

Algunas imágenes:










El código no lo dejo acá, debido a que está en el mismo archivo .py  :rolleyes:
Es muy simple, lo hice cuando estaba aburrido.

Descarga :)

Lo dejo bajo la licencia GNU General Public License v3.0 (GPL V3.0), lo cual significa que cualquiera puede editar el código, distribuirlo, etc.
Se admite cualquier respuesta, consejos, criticas, etc.

Cualquier falla en el link/o el programa, avisarme por MP

Edito:
Evidentemente, necesitan el interprete de Python 3.5 o 3.6
Si alguien quiere versión en .exe, avisenme por MP
Descarga de Python: Python


Gracias.
#31
Se que suena como una tontería, pero aveces veo que todo el tiempo sube noticias, y solo eso, ninguna interacción con otros usuarios o respuestas...
Solo es una pregunta algo tonta, pero me gustaría resolver la duda  :rolleyes:
#32
Hola! He últimamente sentido curiosidad por el tema este del hacking, y me gustaría como empezar. Actualmente se programar en C y en Python 3, que es un lenguaje de scripting. Por eso me gustaría si alguien sabe si existe un libro o tutorial para empezar en el hacking usando Python.
Muchas gracias  ;-)
#33
Hola, hoy vengo a molestar preguntando si alguien tiene los scancodes de las teclas del teclado. Pero no solo las teclas de letras o números, también las teclas de función y las de control como ESC, ALT GR, ALT y CONTROL. Por que en internet solo he encontrado los códigos de las teclas de letras y números.
Muchas gracias.  :silbar:
#34
Me gustaría que alguien me dijera cual es el nombre de esta fuente:

Perdonen la calidad de la foto, pero es la única donde aparece esta fuente.
He intentado usar reconocedores de fuentes, pero no me tira ningun resultado...
Gracias
#35
No importa, me doy por vencido, aparte lo mas estúpido de todo es que dijieron que no puse la versión de python que uso, y si la puse...
#36
Primero de todo a eso de a que lenguaje se dirigiría me refiero a que la sintaxis estaría en español o en ingles?
Me pregunto eso porque me puse a pensar cuantos lenguajes de programación están en español y solo encontré 3 (según lo que busque, y uno es seudocódigo)
esos lenguajes son: Pauscal ,un lenguaje llamado "Latino" y un editor de seudocódigo llamado "PSelnt". En mi caso, lo haría ya que como he dicho hay pocos. Y también serviría para dar a conocer que no solo se puede programar en lenguajes que su sintaxis esta en inglés, si no también otros idiomas. Aunque igual hay varios lenguajes de programación que están en otros lenguajes, como japonés, portugués y árabe.
De todos modos, que opinas?
PD: Esto lo publique acá por que no sabia donde ponerlo, si eres admin o moderador, mueve este tema al lugar donde corresponde.
#37
Hola, he estado aprendiendo Python 3, y me pregunto como hacerlo, ya que no he encontrado esa función, me gustaría que me ayudasen. Pero también necesito la misma función, pero que funcione en sistemas operativos como Mac, Linux, Ubuntu, etc. Aunque ahora solo la necesito para Windows. es debido a que estoy haciendo una especie de "calculadora" en Python y necesito esa función.
Gracias.
#38
Hola, he estado practicando un poco de C, y empeze programando un programa que lee archivos de texto, aca esta el codigo, bastante simple la verdad:
#include <stdio.h>

int main(void){

char aux;
FILE *f; //Se declara una variable de tipo fichero

f = fopen("Fichero.txt","r"); //Abre el fichero
if(f == NULL){ //Comprueba si se ha abierto el fichero
printf("No se ha podido abrir el fichero");
exit(1);
}

while(aux != EOF){ //Al terminar de leer un fichero genera un carcter especial llamado EOF (EndOfFile)
aux = fgetc(f);
printf("%c", aux); //Imprime en pantalla el fichero
}
printf("\n");

fclose(f); //Cierra el fichero

system("pause");
}

Sin embargo, en la funcion fopen yo quiero que pregunte la ruta del archivo, ya lo he intentado, lo he intentado con strings pero no funciona ya que al parecer fopen no lee variables, hay una alternativa a esa funcion?
Gracias.
#39
Hola otra vez, hoy me gustaría preguntarle a los desarrolladores que programan en assembler o los que lo están aprendiendo. La pregunta es si, Assembler es dificil? Me pregunto esto, ya que a veces, cuando miro ejemplos de assembler (por solo curiosidad) veo que el simple y típico "Hello World!" se me hace un lio, ya que yo programo en C,
y ahora estoy aprendiendo Python.
Digo esto, ya que como algunos sabemos, en C, un "Hello World!" seria asi:

#include <stdio.h>

int main(){

printf("Hola mundo!\n");
return 0;
}

en Python asi:

Código (python) [Seleccionar]
print("Hola Python")

y finalmente en Assembler asi:
Código (asm) [Seleccionar]
; ---------------------------------------------
; Programa que imprime un string en la pantalla
; ---------------------------------------------
.model small              ; modelo de memoria

.stack                    ; segmento del stack

.data                     ; segmento de datos
Cadena1 DB 'Hola Mundo.$' ; string a imprimir (finalizado en $)

.code                     ; segmento del código

; ---------------------------------------------
; Inicio del programa
; ---------------------------------------------
programa:
; ----------------------------------------------------------------------------------------------------
; inicia el segmento de datos
; ----------------------------------------------------------------------------------------------------
MOV AX, @data          ; carga en AX la dirección del segmento de datos
MOV DS, AX             ; mueve la dirección al registro de segmento por medio de AX

; ----------------------------------------------------------------------------------------------------
; Imprime un string en pantalla
; ----------------------------------------------------------------------------------------------------
MOV DX, offset Cadena1 ; mueve a DX la dirección del string a imprimir
MOV AH, 9              ; AH = código para indicar al MS DOS que imprima en la pantalla, el string en DS:DX
INT 21h                ; llamada al MS DOS para ejecutar la función (en este caso especificada en AH)

; ----------------------------------------------------------------------------------------------------
; Finaliza el programa
; ----------------------------------------------------------------------------------------------------
INT 20h                ; llamada al MS DOS para finalizar el programa

end programa

(código sacado de Wikipedia, por que como dije no se programar en assembler)  :silbar:

Aunque el primer lenguaje de programación que aprendí que es C, también es de bajo nivel, pero no se tiene que declarar el modelo de memoria (lo mas cercano a eso serian las funciones malloc, realloc y calloc, y no tiene nada que ver con lo dicho anteriormente, ya que es solo para usar la memoria dinámica). Y otra duda, en que se usa assembler actualmente?
Gracias.  :D
#40
Hola. Soy nuevo en este foro, y me gustaria preguntar que lenguaje de programacion debo elegir?
Primero de todo, ya se escribir en C, pero ahora quiero aprender otro lenguaje y ahi esta la duda.
Entre mis opciones estarian Python, assembler y Java. He oido que Python es bastante util y facil de aprender, y de que se puede crear todo tipo de aplicaciones con ella, y de que no es fuertemente tipado. Otra seria assembler, que he oido que con ese lenguaje tiene uno una interaccion mas directa con la computadora, y de que se puede sacar codigo que pesa muy poco y que es optimo, pero sus deventajas serian que es dificil de aprender, y que el lenguaje varia si uno usa un procesador x86 y x64. Otra opcion mas seria Java, que tambien he oido que es muy optimo, y que por eso es muy util para desarrollar videojuegos, que esta orientado a objetos, y de que Android esta escrito en ese lenguaje, sin embargo es un lenguaje fuertemente tipado y algo tambien un poco dificil de aprender.
Me gustaria que me resuelvan esa duda. Gracias :D