python3の一括編集JPG画像サイズ

機能

  1. JPG画像サイズバッチがセットに現在のフォルダを変更します
  2. 絵が動くように修正new_imgファイルをフォルダ

インポートライブラリ

from PIL import Image                                       # 处理图片模块
import os
import shutil                                               # 移动文件模块

あなたは、事前に適切なライブラリをインストールしない場合。

画像サイズを処理するための関数の定義

def smaller_img(x, y, path):                                # x,y用来传入尺寸,path用来传入路径
    old_img = Image.open(path)
    img_deal = old_img.resize((x, y), Image.ANTIALIAS)      # 转换图片
    img_deal = img_deal.convert('RGB')                      # 保存为jpg格式才需要
    img_deal.save('新的文件名')

現在のフォルダにファイルパスをトラバース

now_path = os.getcwd()
new_path = os.mkdir(now_path + '\\' + 'new_img')            # 创建一个名为new_img的文件夹
for file_name in os.listdir(now_path):
    files_path = now_path + '\\' + file_name
    print(files_path)                                       # 输出当前目录下所有的文件的绝对路径

移動するには、フォルダを作成するために変更され、新しいファイル画像

私は、変更された画像ファイルかどうかを判断するための判定方法の文字列で、ぎこちない使用しています。
shutilモジュールリファレンスリンク

for move_name in os.listdir(now_path):
            move_path = now_path + '\\' + move_name
            if 'switch' in move_path:
                shutil.move(move_path,new_dir)             # shutil.move(文件/目录 , 目录)
            else:
                 print(move_path, '无须移动')

一緒に、これらの機能の統合

from PIL import Image
import os
import shutil

x = input('请输入需要修改的尺寸,长:')
x = int(x)
y = input('请输入需要修改的尺寸,高:')
y = int(y)

now_path = os.getcwd()
new_path = os.mkdir(now_path + '\\' + 'new_img')
new_dir = now_path + '\\' + 'new_img'

# 修改图片大小
def smaller_img(x, y, path):
    path = str(path)
    old_img = Image.open(path)
    img_deal = old_img.resize((x, y), Image.ANTIALIAS) 
    img_deal = img_deal.convert('RGB') 
    img_deal.save('switch_' + file_name)
# 遍历文件夹下的文件,并判断是否是JPG文件
for file_name in os.listdir(now_path):
    files_path = now_path + '\\' + file_name
    if 'jpg' in files_path:
        smaller_img(x, y, files_path)
        # 遍历文件来判断是否是转换后的jpg文件
        for move_name in os.listdir(now_path):
            move_path = now_path + '\\' + move_name
            if 'switch' in move_path:
                shutil.move(move_path,new_dir)
            else:
                 print(move_path, '无须移动')
        print(file_name, 'switch success')
    else:
        print(file_name, 'is not img')

結論

間違った場所を示し、多くの批判をしてくださいしてください

おすすめ

転載: www.cnblogs.com/liwublog/p/12104790.html