怎么用os.makedirs(os.path.join())储存图片
时间: 2023-11-23 22:52:39 浏览: 104
os.makedirs()函数可以用来创建多层目录,os.path.join()函数可以将多个路径组合成一个路径。因此,可以使用os.makedirs(os.path.join(path, filename))来创建一个文件夹并将图片存储在其中。
具体实现方法如下:
```python
import os
path = 'image_folder'
filename = 'example.jpg'
if not os.path.exists(path):
os.makedirs(path)
with open(os.path.join(path, filename), 'wb') as f:
f.write(image_content)
```
其中,image_content是图片的二进制数据。
相关问题
帮我爬取一下网站https://bbs.zol.com.cn/dcbbs/d15.html 的图片,并将每一个帖子中的图片,储存到一个文件夹,文件夹使用帖子的名字命名
好的,我可以为您编写一个Python脚本来实现这个功能。您需要安装requests、beautifulsoup4、os和urllib这几个Python库。
以下是代码:
```python
import requests
from bs4 import BeautifulSoup
import os
import urllib.request
url = "https://bbs.zol.com.cn/dcbbs/d15.html"
response = requests.get(url)
soup = BeautifulSoup(response.text, "html.parser")
# 获取所有帖子的链接
post_links = []
for a in soup.find_all("a", class_="title-link"):
post_links.append(a["href"])
# 遍历每个帖子
for link in post_links:
response = requests.get(link)
soup = BeautifulSoup(response.text, "html.parser")
# 获取帖子标题
title = soup.find("h3").text.strip()
# 创建文件夹
folder_name = title.replace("/", "_") # 防止标题中包含 /
if not os.path.exists(folder_name):
os.makedirs(folder_name)
# 获取所有图片的链接
img_links = []
for img in soup.find_all("img", class_="lazy"):
img_links.append(img["data-original"])
# 下载图片并保存到文件夹
for i, link in enumerate(img_links):
try:
file_name = os.path.join(folder_name, f"{i}.jpg")
urllib.request.urlretrieve(link, file_name)
except:
pass
```
这段代码会先请求https://bbs.zol.com.cn/dcbbs/d15.html页面,解析出所有帖子的链接,然后遍历每个帖子,获取帖子标题,创建一个以标题命名的文件夹,获取所有图片的链接,下载图片并保存到文件夹中。请注意,这段代码可能会花费一些时间来运行,具体取决于网站的响应速度和您的网络速度。
python批量读入储存图片
您可以使用Python中的Pillow库来批量读取和存储图片。下面是一个示例代码,可以读取指定文件夹中的所有图片,并将它们存储到另一个文件夹中:
```python
from PIL import Image
import os
def batch_process_images(input_folder, output_folder):
# 检查输出文件夹是否存在,如果不存在则创建
if not os.path.exists(output_folder):
os.makedirs(output_folder)
# 遍历输入文件夹中的所有文件
for filename in os.listdir(input_folder):
# 检查文件是否为图片文件
if filename.endswith(".jpg") or filename.endswith(".png"):
# 读取图片
img = Image.open(os.path.join(input_folder, filename))
# 存储图片到输出文件夹中
img.save(os.path.join(output_folder, filename))
print("图片处理完成!")
# 调用函数并指定输入和输出文件夹路径
input_folder = "/path/to/input/folder"
output_folder = "/path/to/output/folder"
batch_process_images(input_folder, output_folder)
```
您需要将`/path/to/input/folder`替换为包含要处理图片的文件夹的实际路径,将`/path/to/output/folder`替换为您希望存储图片的文件夹的实际路径。
这个示例代码将遍历输入文件夹中的所有图片文件(以.jpg或.png结尾),使用Pillow库读取每个图片,并将其存储到输出文件夹中。完成后,它会打印出"图片处理完成!"的提示。
请注意,您需要先安装Pillow库,可以使用以下命令安装:
```
pip install pillow
```
希望对您有帮助!如有任何问题,请随时提问。
阅读全文