python - 不知道要在 try.. except.. 中放入什么来处理不存在的字符串

标签 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()

我查看了一些帖子 [1 , 2 ] 使用 try.. except.. 但我找不到它们适用于我的特定问题。

最佳答案

修改 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)

关于python - 不知道要在 try.. except.. 中放入什么来处理不存在的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52866714/

相关文章:

python - Pandas 分组日期

python - YAML 加载 5e-6 作为字符串而不是数字

php - PHP中的非重复错误处理

c# - 如何添加自定义时间格式?

python - Numpy.argsort - 看不出有什么问题

python - 使用 pandas 的绘图方法在 1 行中绘制图表时出现问题

jquery - 防止基于jquery中的全局错误提交

bash - 在bash中包装一个perl脚本-向IRC机器人回显

java - eclipse 超时

jquery - POST http ://127. 0.0.1:8000/notifications/ajax/403 (禁止)//使用ajax+django