2017-05-04 3 views
0

J'ai un script python qui peut convertir binaire en décimal et décimal en binaire, et je voudrais pouvoir mettre en surbrillance le texte, faites un clic droit, sélectionnez une option dans le menu déroulant sur windows (10) et faites-le convertir le nombre, me disant dans une notification ou quelque chose. Je sais que pour exécuter le script, j'ai besoin de modifier le registre, mais comment exactement, et comment je peux utiliser le texte en surbrillance en entrée et envoyer une notification est un mystère pour moi. Si elle est d'aucune aide que ce soit, le code est actuellementUtilisation du texte surligné en entrée pour un script python?

import math 

def binToDec(binary): 
    decimal = 0 
    i = 0 
    while (binary != 0): 
     remainder = binary%10 
     binary = int(binary/10) 
     decimal += remainder*pow(2,i) 
     i+=1 
    return int(decimal) 

def decToBin(decimal): 
    binary = "" 
    while (decimal > 0): 
     remainder = int(decimal%2) 
     div = int(decimal/2) 
     binary += str(remainder) 
     decimal = div 
    return int(binary[::-1]) 

que je sais est inutile dans cet état. J'ai généralement besoin d'un point dans la bonne direction ou d'instructions sur la façon dont j'irais à ce sujet, ce serait très apprécié.

Répondre

0

Vous pouvez utiliser les offres de bibliothèques GUI python.

En ce qui concerne this question, Voici un code de pièce qui crée une liste de menubutton avec des options de binToDec (1010) et decToBin (10) de votre exemple, en utilisant tkinter (python3x):

import math 

def binToDec(binary): 
    decimal = 0 
    i = 0 
    while (binary != 0): 
     remainder = binary%10 
     binary = int(binary/10) 
     decimal += remainder*pow(2,i) 
     i+=1 
    return int(decimal) 

def decToBin(decimal): 
    binary = "" 
    while (decimal > 0): 
     remainder = int(decimal%2) 
     div = int(decimal/2) 
     binary += str(remainder) 
     decimal = div 
    return int(binary[::-1]) 



import tkinter as tk 

def cbc(num, tex): 
    return lambda : callback(num, tex) 

def callback(num, tex): 
    s = '{}\n'.format(num) 
    tex.insert(tk.END, s) 
    tex.see(tk.END)   

top = tk.Tk() 
tex = tk.Text(master=top) 
tex.pack(side=tk.RIGHT) 
bop = tk.Frame() 
bop.pack(side=tk.LEFT) 

b1 = tk.Button(bop, text="binToDec(1010)", 
     command=cbc(binToDec(1010),tex)) 
b1.pack() 
b2 = tk.Button(bop, text="decToBin(10)", command=cbc(decToBin(10),tex)) 
b2.pack() 

tk.Button(bop, text='Exit', command=top.destroy).pack() 
top.mainloop() 

Bien qu'il serait, pour votre script, beaucoup plus simple de simplement en faire un utilitaire de ligne de commande (installez python dans votre environnement windows puis lancez votre script directement depuis la ligne de commande (cmd)).

+0

Comment exécuter le script via cmd? –

+0

Lorsque vous tapez une commande dans cmd (comme "notepad", "dir"), vous exécutez un programme sous C: \ Windows \ System32 \, en supposant que le lecteur racine est C :. Vous pouvez donc mettre python.exe sous cet emplacement, puis aller au chemin de votre fichier de script, tapez "python filename.py", ou vous pouvez rendre votre fichier de script un exécutable, considérez ceci [introduction] (https: // mborgerson .com/creation-an-executable-from-a-python-script) –