如何使此脚本在后台运行并侦听“复制”操作?

时间:2018-10-16 02:46:53

标签: python

以下脚本的作用是,如果我复制这样的链接:http://urlshortener.io/s/1234rIHs/?s=https%3A%2F%2Fexample.com%2Fsome_content%2F,它将更改为 example.com/some_content/,如果我单击了按钮。

有没有一种方法,当我运行此脚本时,它将在后台侦听“复制”动作,然后,如果我在浏览器中复制了一些文本,它将自动对刚刚复制的文本进行切片,从而赢得了不需要点击按钮?

现在,我仍然必须单击按钮才能进行切片。

from tkinter import *
from urllib import parse
from tkinter import Tk


root = Tk()
root.title("Slicer")

root.geometry('304x70')

lbl = Label(root, text="Link")
lbl.pack()



def clicked():
    clip = root.clipboard_get()
    clip = parse.unquote(clip)[45:]

    root.clipboard_clear()
    root.clipboard_append(clip)
    lbl.configure(text= clip)

btn = Button(root, text="Slice", command=clicked, height = 3, width = 40)
btn.pack()


root.mainloop()

1 个答案:

答案 0 :(得分:0)

您可以使用pyperclip。运行无限循环,继续检测循环中的网址,并在找到时进行修改。

import pyperclip, time

# Modify is_url and modify_url, according to your need
def is_url(s):
    return True

def modify_url(url_string):
    return "Hello World"

while True:
    on_clip = pyperclip.paste()
    if is_url(on_clip):
        pyperclip.copy(modify_url(on_clip))
    time.sleep(0.1)