代码如下

打开剪贴板:

1
win32clipboard.OpenClipboard()

这行代码打开剪贴板,以便读取其中的数据。

获取剪贴板中的文本数据:

1
text = win32clipboard.GetClipboardData(win32clipboard.CF_UNICODETEXT)

这行代码从剪贴板中获取 Unicode 文本数据。

构建源数据字典:

1
2
3
4
source_data = {
"type": "txt",
"content": text
}

这行代码将获取到的文本数据封装成一个字典,其中 type 表示数据类型为文本,content 是文本的具体内容。

处理数据并写入文件:

1
2
3
clean_data = get_line(self, source_data, self.display)
data = json.dumps(clean_data, ensure_ascii=False)
write_file(self.file, data)

这行代码调用 get_line 方法处理 source_data,并将处理后的数据转换为 JSON 格式,然后写入到输出文件中。

关闭剪贴板:

1
win32clipboard.CloseClipboard()

这行代码关闭剪贴板,释放资源。

处理异常:

1
2
3
except Exception:
setting.log.info("剪切板当中没有文本数据!")
self.paste_pic()

这行代码捕获所有异常,并记录错误信息。如果剪贴板中没有文本数据,它会调用 self.paste_pic() 方法尝试获取图像数据并进行处理。