我正在使用seaborn 绘制热图。我想像截图一样直接将此图像复制到剪贴板。我无法找到任何解决方案来解决这个问题。我目前的解决方案如下
def copy_image_to_memory(image: plt.figure, close: bool = False) -> None:
from io import BytesIO
from subprocess import run
plt.savefig(buffer := BytesIO(), format='png', facecolor='white')
buffer.seek(0)
run('pbcopy', input=buffer.read(), check=True, shell=True)
print("Image copied to memory")
if close:
print("Closing image")
plt.close()
else:
print("Image not closed")
此解决方案的问题在于它将图像复制为字节字符串。这无法复制为文件或屏幕截图。
如有任何帮助,我们将不胜感激。
在 Mac 上,您可以使用 python “shell out”到 pbcopy。
或者在 Windows 计算机上,您可以尝试 win32clipboard 模块。
如何使用 Python 读取 Windows 剪贴板中的文本?
我怀疑 linux 解决方案是谷歌无法找到的,就像这些一样。