python操作剪切板clipboard
import os
import subprocess
from Quartz import (
NSPasteboard,
NSPasteboardTypePNG,
NSPasteboardTypeTIFF,
NSPasteboardTypeString,
)
# 获取剪贴板中的数据
pasteboard = NSPasteboard.generalPasteboard()
image_data = None
text_data = None
if pasteboard.availableTypeFromArray_([NSPasteboardTypePNG]):
image_data = pasteboard.dataForType_(NSPasteboardTypePNG)
elif pasteboard.availableTypeFromArray_([NSPasteboardTypeTIFF]):
image_data = pasteboard.dataForType_(NSPasteboardTypeTIFF)
# 如果剪贴板中没有图像数据,尝试获取文本数据
if not image_data:
text_data = pasteboard.stringForType_(NSPasteboardTypeString)
if image_data:
# 指定保存路径
save_directory = "/Users/shaun/Documents/clipboard/"
# 列出目标文件夹中的所有文件
existing_files = os.listdir(save_directory)
# 查找已存在文件名中的最大序号
max_number = 0
for file_name in existing_files:
if file_name.endswith(".png"):
try:
number = int(file_name.split(".")[0])
max_number = max(max_number, number)
except ValueError:
pass
# 下一个文件名序号
next_number = max_number + 1
# 构建新文件名
file_name = f"{next_number}.png"
save_path = os.path.join(save_directory, file_name)
# 保存图像数据到文件
with open(save_path, "wb") as f:
f.write(image_data)
# 通知用户图像已保存
print(f"Image saved as {file_name}")
# 打开资源目录
subprocess.Popen(["open", save_directory])
elif text_data:
# 指定保存路径
save_directory = "/Users/shaun/Documents/clipboard/"
# 列出目标文件夹中的所有文件
existing_files = os.listdir(save_directory)
# 查找已存在文件名中的最大序号
max_number = 0
for file_name in existing_files:
if file_name.endswith(".txt"):
try:
number = int(file_name.split(".")[0])
max_number = max(max_number, number)
except ValueError:
pass
# 下一个文件名序号
next_number = max_number + 1
# 构建新文件名
file_name = f"{next_number}.txt"
save_path = os.path.join(save_directory, file_name)
# 保存文本数据到文件
with open(save_path, "w") as f:
f.write(text_data)
# 通知用户文本文件已保存
# print(f"Text file saved as {file_name}")
# 打开资源目录
subprocess.Popen(["open", save_directory])
# else:
# # 剪切板中既没有图像数据也没有文本数据时,通知用户
# print("No image or text found on the clipboard")
本文作者:Journey&Flower
本文链接:https://www.cnblogs.com/JourneyOfFlower/p/17733401.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步