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!


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Probando este código
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Probando este código  (Leído 819 veces)
Meta


Desconectado Desconectado

Mensajes: 3.197



Ver Perfil WWW
Probando este código
« en: 17 Junio 2020, 15:55 »

Buenas:

Tengo este código de Python 2.x. No me funciona en Visual Studio Community 2019 (Gratuito).

Código
  1. import os, sys, tkFileDialog,Tkinter
  2.  
  3. root = Tkinter.Tk()
  4. root.withdraw()
  5.  
  6. formats = [ ('Roms Super Nintendo SMC','.smc'),('Roms Super Nintendo SFC','.sfc'),('Fichier Bin','.bin'),('Roms Super Nintendo','.smc .sfc .bin') ]
  7.  
  8. input = tkFileDialog.askopenfile(parent=root,mode='rb',filetypes=formats,title='Select file to swap bin HI to LO like A16->A15, A17->A16...A21->A20 and A15->21')
  9. if not input:
  10.        print "Error: Cannot open file"
  11.        sys.exit()
  12.  
  13. output = tkFileDialog.asksaveasfile(parent=root,mode='wb',filetypes=formats,title='Create output file name')
  14. if not output:
  15.        print "Error: cannot create output file"
  16.        sys.exit()
  17.  
  18.  
  19. # reading input file to a byte array
  20. data = bytearray(input.read())
  21.  
  22. # calculating rom size in 2 exponants
  23. expsize = 0
  24. bytesize = len(data)
  25. while bytesize > 1:
  26.        expsize += 1
  27.        bytesize = bytesize // 2
  28.  
  29. # init a proper size empty bytearray
  30. buffer = bytearray()
  31. for i in range(2**expsize): buffer.append(0)
  32.  
  33. # let's do the swap
  34. count = 0
  35. for i in range(len(data)):
  36.        addr = (i & 0x7fff) + ((i & 0x008000) << (expsize - 16)) + ((i & 0x010000) >> 1) + ((i & 0x020000) >> 1) + ((i & 0x040000) >> 1) + ((i & 0x080000) >> 1) + ((i & 0x100000) >> 1) + ((i & 0x200000) >> 1)
  37.        if addr != i: count += 1
  38.        buffer[addr] = data[i]
  39. print "Swapped %s (%s) addresses" % (count, hex(count))
  40.  
  41. # writing output file
  42. output.write(buffer)
  43.  
  44. # close file handles
  45. input.close()
  46. output.close()

Me sale estos errores.
Traceback (most recent call last):
  File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "c:\program files (x86)\microsoft visual studio\2019\community\common7\ide\extensions\microsoft\python\core\debugpy\__main__.py", line 45, in <module>
    cli.main()
  File "c:\program files (x86)\microsoft visual studio\2019\community\common7\ide\extensions\microsoft\python\core\debugpy/..\debugpy\server\cli.py", line 429, in main
    run()
  File "c:\program files (x86)\microsoft visual studio\2019\community\common7\ide\extensions\microsoft\python\core\debugpy/..\debugpy\server\cli.py", line 266, in run_file
    runpy.run_path(options.target, run_name=compat.force_str("__main__"))
  File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64\lib\runpy.py", line 261, in run_path
    code, fname = _get_code_from_file(run_name, path_name)
  File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64\lib\runpy.py", line 236, in _get_code_from_file
    code = compile(f.read(), fname, 'exec')
  File "C:\Users\Meta\Documents\Visual Studio 2019\Python_consola_01\Python_consola_01\Python_consola_01.py", line 10
    print "Error: Cannot open file"
                                  ^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print("Error: Cannot open file")?
Press any key to continue . . .

¿Les dicen algo?

Saludos.


En línea

Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/
MCKSys Argentina
Moderador Global
***
Desconectado Desconectado

Mensajes: 4.819


Diviértete crackeando, que para eso estamos!


Ver Perfil
Re: Probando este código
« Respuesta #1 en: 17 Junio 2020, 18:31 »

Hola!

Por lo que colocas, el código es python 2 y lo estás corriendo con python 3. La función print necesita paréntesis en py3. En py2 era omitible.

Saludos!


En línea

MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."

Meta


Desconectado Desconectado

Mensajes: 3.197



Ver Perfil WWW
Re: Probando este código
« Respuesta #2 en: 17 Junio 2020, 21:17 »

Lo he instalado ahora y lo he cambiado.



Me sale con otro error.

Citar
Can't find a usable init.tcl in the following directories:
    C:/Python27/lib/tcl8.5 {C:/Users/Meta/Documents/Visual Studio 2019/Projects/Python_consola_01/Python_consola_01/env1/lib/tcl8.5} {C:/Users/Meta/Documents/Visual Studio 2019/Projects/Python_consola_01/Python_consola_01/lib/tcl8.5} {C:/Users/Meta/Documents/Visual Studio 2019/Projects/Python_consola_01/Python_consola_01/env1/library} {C:/Users/Meta/Documents/Visual Studio 2019/Projects/Python_consola_01/Python_consola_01/library} {C:/Users/Meta/Documents/Visual Studio 2019/Projects/Python_consola_01/Python_consola_01/tcl8.5.15/library} {C:/Users/Meta/Documents/Visual Studio 2019/Projects/Python_consola_01/tcl8.5.15/library}



This probably means that Tcl wasn't installed properly.

Precisamente en la primera línea.

root = Tkinter.Tk()
En línea

Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/
tincopasan


Desconectado Desconectado

Mensajes: 1.213

No es lo mismo conocer el camino que recorrerlo.


Ver Perfil
Re: Probando este código
« Respuesta #3 en: 27 Junio 2020, 13:06 »

si usas python 3 y el código es de 2.x pódes tratar de convertirlo, para eso trae 2to3 ,claro que no te salvará en todos los códigos, pero si tenés esa mala costumbre de copiar y no entender lo básico te puede ayudar. Tkinter con mayúsculas es para 2.x si mal no recuerdo, hace años que no lo uso, para importar en 3 es tkinter con minúsculas.
En línea

@XSStringManolo
Colaborador
***
Conectado Conectado

Mensajes: 2.083


Turn off the red ligth


Ver Perfil WWW
Re: Probando este código
« Respuesta #4 en: 27 Junio 2020, 15:09 »

python2 nombreDeTuPrograma.py
En línea

Meta


Desconectado Desconectado

Mensajes: 3.197



Ver Perfil WWW
Re: Probando este código
« Respuesta #5 en: 2 Julio 2020, 01:09 »

Ya funciona gracias a todos.
En línea

Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

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