用pynput写一个输入图片链接并下载图片到指定文件夹并且按顺序命名
时间: 2024-10-11 21:06:39 浏览: 41
使用`pynput`库主要是为了键盘操作,而处理图片链接和下载通常需要网络请求库如`requests`和文件系统操作,比如`os`。这里我们可以结合这些库编写一个简单的Python脚本,不过请注意,这个示例假设您已经安装了`pynput`, `requests`, 和 `io` 库。由于隐私原因,直接读取剪贴板(键盘监听输入)的功能可能会有安全限制。
首先,我们需要导入必要的库:
```python
import os
import requests
from pynput.keyboard import Controller
```
接下来,我们将创建一个键盘监听器:
```python
keyboard = Controller()
```
然后,我们设置一个函数来接收并保存图片链接,同时保证文件名的顺序:
```python
def download_image_and_save(url, save_dir):
response = requests.get(url)
filename = f'image_{len(os.listdir(save_dir)) + 1}.jpg' # 按顺序命名
with open(os.path.join(save_dir, filename), 'wb') as f:
f.write(response.content)
```
现在,我们需要监听剪贴板变化并获取图片链接:
```python
def on_press(key):
if key == keyboard.Key.backspace or key == keyboard.Key.enter:
try:
link = clipboard.paste() # 使用系统的剪贴板模块,这取决于您的操作系统
download_image_and_save(link, 'your_download_directory') # 替换为你的目标文件夹路径
print(f"Image downloaded: {link}")
except Exception as e:
print(f"Failed to get image from clipboard: {e}")
with keyboard.Listener(on_press=on_press) as listener:
listener.join()
```
在这个脚本中,当用户按下回车键或退格键时,会尝试从剪贴板获取链接并下载图片。记得替换 `'your_download_directory'` 为你实际想要保存图片的文件夹路径。
**
阅读全文