不知道在try ..里面放什么来处理不存在的字符串

时间:2018-10-18 03:46:03

标签: python error-handling

当我运行代码而不复制任何内容时,它将给出一个错误。如果我最初复制一些字符串然后运行代码(请参阅this clip),则效果很好。

即使我最初没有复制任何字符串,我也希望代码能够正常运行,然后如果我复制了一些字符串,它将对字符串进行切片。

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

root = Tk()
root.geometry('304x70')
lbl=Label(root, text = "Nothing Here")
lbl.pack()

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

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


def run_listener(window, interval):
    check_clipboard(window)
    root.after(interval, run_listener, window, interval)

# Not sure what to put here:
#try:
#   ???
#except:
#   ??? 


run_listener(root, 5000)


root.mainloop()

我希望看到一些使用try ..的帖子 [12],但..但我找不到它们能解决我的特定问题。

1 个答案:

答案 0 :(得分:0)

修改check_clipboard()仅在实际复制了任何内容时处理剪辑:

def check_clipboard(window):
    clip = root.clipboard_get()
    if len(clip)>45:                     # check if there's enough data in the string for the next line to work properly
        clip = parse.unquote(clip)[45:]

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