按照这段代码进行更改,使之符合题意
时间: 2024-03-22 07:40:11 浏览: 20
根据您的要求,我们需要对代码进行一些修改,使之可以按照原始文件夹的排布方式进行排布,并且文件名按照原始文件名进行命名。以下是修改后的代码:
```python
import os
from PIL import Image
# 定义图片尺寸
new_width = 800
new_height = 600
# 定义原始文件夹路径和目标文件夹路径
src_dir = '原始文件夹路径'
dst_dir = '目标文件夹路径'
# 遍历原始文件夹下的所有子文件夹和文件
for root, dirs, files in os.walk(src_dir):
# 获取相对路径
rel_path = os.path.relpath(root, src_dir)
# 创建目标文件夹
dst_path = os.path.join(dst_dir, rel_path)
os.makedirs(dst_path, exist_ok=True)
# 遍历文件
for file in files:
# 判断文件是否为图片文件
if file.endswith('.jpg') or file.endswith('.jpeg') or file.endswith('.png') or file.endswith('.gif'):
# 打开图片文件
with Image.open(os.path.join(root, file)) as img:
# 获取原始尺寸
width, height = img.size
# 计算缩放比例
scale = min(new_width/width, new_height/height)
# 计算新尺寸
new_size = (int(width*scale), int(height*scale))
# 缩放图片
img = img.resize(new_size, Image.ANTIALIAS)
# 获取原始文件名并修改为新文件名
filename, ext = os.path.splitext(file)
new_filename = filename + '_new' + ext
# 保存图片到目标文件夹,并按照原始文件名进行命名
dst_file = os.path.join(dst_path, new_filename)
img.save(dst_file)
print('已处理:', dst_file)
```
在上述代码中,我们新增了获取原始文件名并修改为新文件名的代码,并且修改了保存图片的代码,使之按照原始文件名进行命名。请注意,我们在文件名中添加了`_new`的后缀,以便区分原始文件和新文件。如果您希望不添加后缀直接使用原始文件名,请将`new_filename`变量的赋值语句修改为`new_filename = filename + ext`。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)