前提・実現したいこと
tkinterでフォルダを指定し、
フォルダ内の画像名を撮影日に変更・サイズを変更するPythonスクリプトを実行したいのですが
実行すると、画像が消えてしまいます。
下記コードで何が問題かご教示いただければ有難いです。
よろしくお願いいたします。
python
import os, glob, time import tkinter import tkinter as tk from tkinter import filedialog from PIL import Image #メインウィンドウ main_win = tk.Tk() main_win.geometry("500x120") main_win.title("画像変更:名前とサイズ") #メインフレーム main_frm = tk.Frame(main_win) main_frm.grid(column=0, row=0, sticky=tkinter.NSEW, padx=15, pady=10) #フォルダ指定 def ask_folder(): path = filedialog.askdirectory() folder_path.set(path) #画像名とサイズ変更 def re_image(): input_dir = folder_path.get() path = input_dir file_list = glob.glob(path + '/*') #画像名変更 for i, old_name in enumerate(file_list): t = os.path.getmtime(old_name) ts = time.strftime("%y%m%d", time.localtime(t)) new_name = path + "{0:s}-{1:03d}.jpg".format(ts, i+1) os.rename(old_name, new_name) #画像サイズ変更 images = glob.glob(path + '/*.jpg') for i in images: img = Image.open(i) img.thumbnail((1300, 1300), Image.ANTIALIAS) img.save(i) folder_path = tkinter.StringVar() # ウィジェット(フォルダパス) folder_label = tk.Label(main_frm, text="フォルダ指定") folder_box = tk.Entry(main_frm, textvariable=folder_path) folder_btn = tk.Button(main_frm, text="参照", command=ask_folder) # ウィジェット(ボタン) app_btn = tk.Button(main_frm, text="実行", command=re_image) # ウィジェット(配置) folder_label.grid(column=0, row=0, pady=10) folder_box.grid(column=1, row=0, sticky=tkinter.EW, padx=10) folder_btn.grid(column=2, row=0) app_btn.grid(column=1, row=1) # 配置設定 main_win.columnconfigure(0, weight=1) main_win.rowconfigure(0, weight=1) main_frm.columnconfigure(1, weight=1) main_win.mainloop()
補足情報(FW/ツールのバージョンなど)
Python3
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/01/19 01:53