使用突出显示的文本作为python脚本的输入?
问题描述:
我有一个python脚本,可以将二进制转换为十进制和十进制转换为二进制,我希望能够突出显示文本,右键单击它,在窗口(10)下拉菜单中选择一个选项,并将其转换数字,告诉我在通知或什么。 我知道,为了运行脚本,我需要编辑注册表,但确切地说,以及如何使用突出显示的文本作为输入并发送通知对我来说是个谜。 如果它是任何任何帮助,代码是目前使用突出显示的文本作为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])
这是我所知道的是在这种状态下没用。我通常需要一个正确的方向或指示如何去做这件事,这将是非常感谢。
答
您可以使用python提供的GUI库。
关于this question,以下是一段代码,创建了binToDec(1010)和你的榜样的decToBin(10)的选项菜单按钮列表,使用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()
虽然对于你的脚本来说,使它成为一个命令行工具要简单得多(在你的Windows环境中安装python,然后直接从命令行(cmd)运行你的脚本)。
我该如何通过cmd运行脚本? –
当你在cmd中输入一个命令时(例如“notepad”,“dir”),你实际上是在C:\ Windows \ System32 \下执行一个程序,假设根驱动器是C :.因此,您可以将python.exe放在该位置下,然后转到脚本文件的路径,键入“python filename.py”,或者可以使脚本文件成为可执行文件,请考虑以下[简介](https:// mborgerson的.com /创建-一个可执行-从-A-Python的脚本) –