【问题标题】:Using highlighted text as input for a python script?使用突出显示的文本作为 python 脚本的输入?
【发布时间】:2017-10-02 02:27:37
【问题描述】:

我有一个可以将二进制转换为十进制和十进制转换为二进制的 python 脚本,我希望能够突出显示文本,右键单击它,在 windows (10) 的下拉菜单中选择一个选项并拥有它转换号码,在通知或其他内容中告诉我。 我知道为了运行脚本,我需要编辑注册表,但究竟如何以及如何使用突出显示的文本作为输入并发送通知对我来说是一个谜。 如果有任何帮助,目前的代码是

    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-3.x binary windows-10 decimal regedit


    【解决方案1】:

    您可以使用 Python 提供的 GUI 库。

    关于this question,这是一段代码,它使用 tkinter(python3x) 创建了一个带有 binToDec(1010) 和 decToBin(10) 选项的菜单按钮列表:

    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”,或者你可以让你的脚本文件成为可执行文件,考虑这个introduction
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多