Pythonのお勉強 Part71at TECHPythonのお勉強 Part71 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト650:デフォルトの名無しさん 23/11/15 18:01:40.79 QwHxvQAv/ Pythonでログ削除する方法あったら教えて 651:デフォルトの名無しさん 23/11/15 20:01:43.64 qjPY1w3P0.net 配列定義する手間で全部書けるだろなにがしたいんだ 652:デフォルトの名無しさん (ワッチョイ 1f27-XI6K) 23/11/15 21:38:54.96 SiUAlBQI0.net >>629-643 624です。 Lineを使ってStableDiffutionで作成した画像をソートして作成日時が新しいもの10個を自分用に送り付ける方法を考えてました。 んで、関数の話としては>>643のべた書きが近く・・・というかまんまで、文字通りべた書きで10回処理を行いそれぞれ別関数へ突っ込んでます。 本当はもっといい処理方法あると思いまが、あまりプログラム系は触ったことがなく、自分でできる範囲で最適化するつもりです。 >>629 の画像ファイルを関数に入れるに関しては、 im1 = Image.open(data) という処理を別でやっており、10枚の画像ファイルを、2列5行の画像ファイルで書き出して送信するするつもりです。(ランダムで10枚を1枚にしてLineに送る処理はできたので・・) LINE NotifyやLineAPIを叩いても、複数画像をまとめて送る手法がなかったので、1つの画像で送る方法をとっています。 で、そのプログラムですが以下のようになってます。 (Google Colabで実行) from pathlib import Path import os paths = list(Path('/content/drive/MyDrive/StableDiffusion/').glob(r'*.*')) paths.sort(key=os.path.getmtime, reverse=True) for file in paths: print(f'{file.stat().st_mtime:.0f} {file.name}') print (paths.sort) l_reversed = paths[0::-1] l2_reversed = paths[1::-2] l3_reversed = paths[2::-3] print (l_reversed) print (l2_reversed) print (l3_reversed) このプログラムでソートした上から3つを取り出せたのですがいかがでしょうか。 また、 for file in paths: print(f'{file.stat().st_mtime:.0f} {file.name}') の処理があまりよくわかっていないのですが、 これは、for file in pathsでフォルダ指定したフォルダ内の全ファイルに対して、{file.stat().st_mtime:.0f} で更新日、{file.name}でファイル名の表示で会っていますでしょうか。 それか、ほかにもっとスマートな手法ありますでしょうか。 よろしくお願いします。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch