我需要一个小脚本,它将剪贴板的内容放在一个变量中,然后"做事情" (即以变量作为参数执行其他函数)。每次修改剪贴板时脚本都必须这样做。
现在我有:
./images/page-background.png
但是我在一段时间后出现错误:def get_clipboard():
root = Tk()
root.withdraw()
try:
return root.clipboard_get()
except:
return ""
if __name__ == '__main__':
cb = ""
while True:
cb_new = get_clipboard()
if cb_new == cb or cb_new == "":
continue
cb = cb_new
print(cb) # Here I will call other functions
print("---------------------------------------------")
time.sleep(0.1)
。我想这是因为unable to realloc 28675 bytes
循环,但我不知道如何以不同的方式做到这一点。我尝试使用while
,但我不了解它是如何工作的,以及它是否是我需要的。
答案 0 :(得分:1)
get_clipboard
函数创建一个tkinter窗口但从未正确销毁它。在循环中执行此操作,每秒10次,累积内存,直到没有足够的空间来创建另一个窗口并且脚本崩溃。
将功能更改为:
def get_clipboard():
root = Tk()
root.withdraw()
try:
return root.clipboard_get()
except:
return ""
finally:
root.destroy()