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


 


Tema destacado: Sigue las noticias más importantes de elhacker.net en ttwitter!


  Mostrar Temas
Páginas: [1] 2 3
1  Programación / Scripting / [Python 3]Archivo no encontrado cuando si existe en: 22 Octubre 2017, 20:36
Estoy teniendo este error cuando intento abrir un archivo en Python:
Código:
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  >:(
2  Foros Generales / Dudas Generales / Pagina con arte ASCII sin copyright??? en: 22 Octubre 2017, 00:53
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.
3  Programación / Programación General / Como hacer un lenguaje de programación? en: 21 Octubre 2017, 00:41
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:
Código:
~Este es un comentario
putsln "Hola"
add "5" "5" ~Suma 5 mas 5 y lo muestra en pantalla

4  Foros Generales / Dudas Generales / Me recomiendan remplazar Windows 10 por Ubuntu? en: 17 Octubre 2017, 00:55
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
5  Programación / Scripting / [Python 3.6] Duda con cursor en manejo de ficheros en: 12 Octubre 2017, 03:33
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
  1. # -*- coding: <utf-8> -*-
  2. '''
  3. El parametro "w" significa escritura
  4. El parametro "a" significa agregar
  5. El parametro "r" significa leer
  6. '''
  7. import os
  8. os.system('cls') # Limpia la pantalla
  9.  
  10. try:
  11. while True:
  12. os.system('cls')
  13. print("Opciones: [1]Abrir archivo [2]Modificar archivo [3]Salir")
  14. opcion = int(input("Opción: "))
  15.  
  16. if opcion == 1:
  17. os.system('cls')
  18. rutar = input("Ruta del archivo: ")
  19. os.system('cls')
  20.  
  21. archivo = open(rutar, "r", encoding = 'utf-8') # El archivo se abre con codificación UTF-8
  22.  
  23. os.system('cls')
  24. for linea in archivo.readlines():
  25. print(linea[:-1])
  26.  
  27. os.system("pause>nul")
  28. archivo.close()
  29. # input("Presione ENTER para salir...")
  30. elif opcion == 2:
  31. os.system('cls')
  32. rutar = input("Ruta del archivo: ")
  33. os.system('cls')
  34.  
  35. archivo = open(rutar, "r+", encoding = "utf-8")
  36. for linea in archivo.readlines():
  37. print(linea[:-1])
  38. archivo.write(input("~ "))
  39.  
  40. archivo.close() # Cierra el archivo
  41. # input("Presione ENTER para salir...")
  42. elif opcion == 3:
  43. print("Hecho por n1sen!")
  44. break
  45. except FileNotFoundError:
  46. print("No se ha encontrado el archivo")
  47.  
  48.  
  49.  
Se que se puede hacer con las funciones seek(), pero de ahí me quede bloqueado...
Gracias.
6  Programación / Java / picked up _java_options xmx512m en la consola en: 2 Octubre 2017, 18:09
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
  1. public class HolaMundo {
  2.  
  3. public static void main(String[] arg){
  4. System.out.print("Hola mundo!"); //Imprime un texto en pantalla
  5. }
  6.  
  7. }
  8.  
Uso Eclipse como IDE
Edito: He solucionado el problema. Habia que borrar la variable de entorno que se llama _java_options.
7  Foros Generales / Sugerencias y dudas sobre el Foro / Que host usa este foro? en: 30 Septiembre 2017, 17:29
Pues eso, me gustaría saber en que host esta alojado este foro.
Espero que no sea información confidencial...

 :-*
8  Programación / Scripting / [Aporte][Python 3.x] Como compilar de .py a .exe! en: 29 Septiembre 2017, 02:12

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
  1. 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
  1. 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
  1. print("Hola mundo!")
  2.  
  3. input("") # Es para evitar que se salga el programa
  4.  

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
  1. cd C:\Users\usuario\Desktop\
No así:
Código
  1. cd C:\Users\usuario\Desktop\miprograma.py



Empieza lo divertido, convertir a .exe!
Escribimos ahora en el cmd lo siguiente:
Código
  1. 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
  1. 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
  1. 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
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
9  Programación / Scripting / [Python 3.6] no logro hacer funcionar esto: en: 28 Septiembre 2017, 21:33
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
  1. import os
  2.  
  3. filepath = "C:/Users/darling/Desktop/prueba2.ocl" # input("Ruta del archivo: ")
  4.  
  5. archivo = open(filepath, "r", encoding = 'utf-8') # Abre el archivo con codificado UTF-8
  6.  
  7. for linea in archivo.readlines():
  8.  
  9.    if "add" in linea: # "add" Indica que los proximos numeros que esten entre comillas simples seran sumados
  10.        arreglo = linea.split('"')
  11.        arreglo2 = linea.split('"')
  12.  
  13.        # print(arreglo[1])
  14.        # print(arreglo2[1])
  15.  
  16.        num1 = arreglo[1]
  17.        num2 = arreglo2[1]
  18.  
  19.        int(num1)
  20.        int(num2)
  21.  
  22.        total = float(num1) + float(num2)
  23.        print(total)
  24.  
  25.    elif "$$" in linea: # $$ Indica que hay un comentario
  26.        pass
  27.  
  28.    elif "clrscr()" in linea: # clrscr() indica en el código que se ha de limpiar la pantalla
  29.        os.system('cls')
  30.  
  31.    elif "int" in linea: # "int" Indica que es una variable de tipo entero
  32.        varName = linea.split('"') # Nombre de la variable
  33.        varValue = linea.split('|') # Valor de la variable
  34.  
  35.  
  36.        if "putsln" in linea:
  37.            putslnFunction = linea.split('"')
  38.  
  39.            if putslnFunction[1] == varValue[1] :
  40.                print(varValue[1]) # envez de imprimirme el valor de la variable, me imprime el nombre de la variable!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  41.  
  42.            elif putslnFunction[1] == '':
  43.                print("is null!")
  44.  
  45.  
  46.        # print(varName[1])
  47.        # print(varValue[1])
  48.  
  49.    elif "putsln" in linea:
  50.        putslnFunction = linea.split('"') # putsln Indica que se imprimira un texto
  51.        printedText = putslnFunction[1]
  52.  
  53.        '''
  54.        if printedText == '':
  55.            print(printedtext)
  56.        else:
  57.            print(printedText) # Imprime el texto que se ha introducido en la función putsln. Ejemplo: putsln "Hola!"
  58.        '''
  59.  
  60.        print(printedText) # Imprime el texto que se ha introducido en la función putsln. Ejemplo: putsln "Hola!"
  61.  
  62. archivo.close()
  63.  
  64. print("Code execution finished.")
  65. os.system('pause')
  66.  
  67.  
  68.  
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.  :)
10  Programación / Scripting / [Python 3.6] Un intento de no se que... y un problemita en: 27 Septiembre 2017, 00:12
Hola, estaba aburrido y programe esto:

Código
  1. import os
  2.  
  3. filepath = input("Ruta del archivo: ")
  4.  
  5. archivo = open(filepath, "r", encoding = 'utf-8') # Abre el archivo con codificado UTF-8
  6.  
  7. for linea in archivo.readlines():
  8.  
  9.    if "$$" in linea: # $$ Indica que hay un comentario
  10.        pass
  11.  
  12.    elif "add" in linea: # "add" Indica que los proximos numeros que esten entre comillas simples seran sumados
  13.        arreglo = linea.split('"')
  14.        arreglo2 = linea.split('"')
  15.        # print(arreglo[1])
  16.        # print(arreglo2[1])
  17.        num1 = arreglo[1]
  18.        num2 = arreglo2[1]
  19.  
  20.        int(num1)
  21.        int(num2)
  22.  
  23.        total = float(num1) + float(num2)
  24.        print(total)
  25.  
  26.    elif "clrscr()" in linea:
  27.        os.system('cls')
  28.  
  29.    elif "int" in linea: # "int" Indica que es una variable de tipo entero
  30.        varName = linea.split('"') # Nombre de la variable
  31.        varValue = linea.split('|') # Valor de la variable
  32.  
  33.        print(varName[1])
  34.        print(varValue[1])
  35.  
  36.    elif "putsln" in linea: # putsln Indica que se imprimira un texto
  37.        putslnFunction = linea.split('"')
  38.        printedText = putslnFunction[1]
  39.  
  40.        if printedText == varName[1]: # <== NO FUNCIONA
  41.            print(varValue[1])          
  42.        elif printedText == '':
  43.            print("is null!")
  44.        else:
  45.            print(printedText)
  46.  
  47. archivo.close()
  48.  
  49. print("Code execution finished.")
  50. os.system('pause')
  51.  
  52.  

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:
Código:
$$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?
Páginas: [1] 2 3
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines