Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用wxPython将复杂的数据结构传递到剪贴板可以吗?_Python_Wxpython_Clipboard_Pickle - Fatal编程技术网

用wxPython将复杂的数据结构传递到剪贴板可以吗?

用wxPython将复杂的数据结构传递到剪贴板可以吗?,python,wxpython,clipboard,pickle,Python,Wxpython,Clipboard,Pickle,我希望我的wxPython应用程序支持应用程序不同运行实例之间的剪切/复制/粘贴操作。是否可以简单地对数据结构进行pickle,将其作为文本复制到剪贴板,然后取消pickle以进行粘贴操作 我知道我必须检查数据是否有来自我的应用程序的迹象。或者我可以试着解开那些东西吗?如果pickle试图解压剪贴板上留下的任意文本,那么它会失败吗 此外,这种方式复制的数据量是否有实际限制 我今天在Windows和Linux上运行-没有尝试过Mac 编辑 我知道文档中有这样的评论。我真的不在乎恶意用户试图破坏他自

我希望我的wxPython应用程序支持应用程序不同运行实例之间的剪切/复制/粘贴操作。是否可以简单地对数据结构进行pickle,将其作为文本复制到剪贴板,然后取消pickle以进行粘贴操作

我知道我必须检查数据是否有来自我的应用程序的迹象。或者我可以试着解开那些东西吗?如果pickle试图解压剪贴板上留下的任意文本,那么它会失败吗

此外,这种方式复制的数据量是否有实际限制

我今天在Windows和Linux上运行-没有尝试过Mac

编辑
我知道文档中有这样的评论。我真的不在乎恶意用户试图破坏他自己的软件实例,如果这是人们担心的,他们应该反对pickle。我的问题是实用性的,而不是安全性的。

你不应该信任剪贴板上的数据来取消勾选,除非你有确定的方法来确保它是由你的应用程序编写的,并且没有被修改

从python文档中:

警告:pickle模块不用于防止 错误的或恶意构造的数据。永远不要解开数据 从不可信或未经验证的来源接收


如果适用,我建议您使用众多python实现之一将数据转换为json或从json转换为json

纯文本很容易使用剪贴板传输,而且将json对象转换回python也没有风险


最后一件事:没有被弃用的风险。

如果另一个程序想同时使用剪贴板怎么办?@dan:和其他使用剪切/复制/粘贴功能的软件一样,我的数据结构不是严格的层次结构。例如,某些对象指向其父对象。我正在努力将其最小化,但它仍然存在。通过谷歌搜索JSON,它看起来不太适合这项任务。同样的问题也适用。