[SOLUCIONADO] Adaptar este script a PowerShell

Iniciado por Meta, Julio 08, 2020, 05:06:53 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Julio 08, 2020, 05:06:53 PM Ultima modificación: Julio 08, 2020, 08:53:21 PM por Gabriela
Hola:

Antes que nada.

¿Con Visual studio 2019 Community 2019 se puede usar PowerShell?

A lo que iba.

Quiero adaptar este código de Python 2.7 a PowerShell.

¿Es posible?

Código: python
import os, sys, tkFileDialog,Tkinter
     
root = Tkinter.Tk()
root.withdraw()
     
formats = [ ('Roms Super Nintendo SMC','.smc'),('Roms Super Nintendo SFC','.sfc'),('Fichier Bin','.bin'),('Roms Super Nintendo','.smc .sfc .bin') ]
     
input = tkFileDialog.askopenfile(parent=root,mode='rb',filetypes=formats,
                                 title='Seleccione el archivo para intercambiar bin HI a LO como A16->A15, A17->A16...A21->A20 y A15->21')
if not input:
    print "Error: no se puede abrir el archivo."
    sys.exit()
     
output = tkFileDialog.asksaveasfile(parent=root,mode='wb',filetypes=formats,title='Crear nombre de archivo de salida.')
if not output:
    print "Error: no se puede crear el archivo de salida."
    sys.exit()
     
     
    # Leer el archivo de entrada a una matriz de bytes.
    data = bytearray(input.read())
     
    # Calculando el tamaño de la habitación en 2 exponentes.
    expsize = 0
    bytesize = len(data)
    while bytesize > 1:
            expsize += 1
            bytesize = bytesize // 2
     
    # Iniciar una matriz de bytes vacía de tamaño adecuado.
    buffer = bytearray()
    for i in range(2**expsize): buffer.append(0)
     
    # Hagamos el intercambio.
    count = 0
    for i in range(len(data)):
            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)
            if addr != i: count += 1
            buffer[addr] = data[i]
    print "Intercambiadas %s (%s) direcciones" % (count, hex(count))
     
    # Escribir archivo de salida.
    output.write(buffer)
     
    # Cerrar archivos maneja.
    input.close()
    output.close()


Gracias.

Buenas @No tienes permitido ver los links. Registrarse o Entrar a mi cuenta!

Citar
¿Con Visual studio 2019 Community 2019 se puede usar PowerShell?

Respondiendo a esta pregunta, si se puede. Acá le dejo un link que habla con respecto a ello: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Y respondiendo a esto:

Citar
Quiero adaptar este código de Python 2.7 a PowerShell.

¿Es posible?

Parte del código básico lo vas a poder adaptar, el problema viene con el módulo TKinter. Pero no creo que sea un problema, ya que Powershell cuenta con formas de crear GUIs. Aunque no le recomendaría mucho usarlo para lo que interfaces respecta, a pesar de que esté desarrollado en C#. Todo esto implica que usando el propio C#, valga la redundancia, pueda obtener un mejor resultado.

De todas formas, acá le dejo unos links de orientación:

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Espero haberle ayudado en algo. Saludos!
-Kirari

Gracias por las respuestas.

Si en C# se hace mejor, sea en consola, Windows Form o WPF, me da igual, quiero hacerlo. Como no entiendo la mecánica de Python, pues......