60歳を迎えて、思うこと。 -25ページ目

60歳を迎えて、思うこと。

いつの間にか、「60」という年月が経ちました。
残り少ないか多いか?わかりませんが。
じじぃ~の「ひとりごと」を細々と続けられれば。。。

Gしょっく 指時計

みにみに
わんわん

う~~~ん

あいであ商品

なのか???


でも

じじぃ~ には


無理!

小さくて 時間 わからん!

目が 目が MEGA~~~

じじぃ~

 

めるこ よ おまえも か!

わんわん

むか~~~し
むかし

まだ


メルコ

だった 会社



BDドライブの 販売を
終了するという

ネットニュースをみた

まあ

ぱな そに~ などの
親分が 撤退したんだから

当然???なのか?

外付けの
USB接続の BDドライブ

じじぃ~的には

好きでは なかったが

そうなんですか・・・

もう
BDは 終わりに 向かって
一直線 なのかな???

でも

不思議 なのは

アニメ番組見ると

CMで

ものすげ~~~
強気の

価格設定の

BD販売しているんだよね

あれ!

売れ行き ど~~~なの?

あの 強気設定で

売れているの?

こんど

生成AI様に

聞いてみよう


めるこ さん・・・

そうだよね;;


の社名から
抜け出せない
お年頃♪

じじぃ~

【Gemini】様 の 作画能力

たこたこ あがれ~~~


日本の
縁日の たこ焼きの屋台

トレードマーク的

たこちゃんの絵を
書いてください


※文字化け? しているのは・・・

 御愛嬌♪

 

やるなぁ~~~

 

でも ちょっと

 

かわいい すぎ

 

かわいい

お年頃♪

 

じじぃ~

250円 らーめん

ねっとにゅーす



みた


ちらみ なので

詳細不明だが

じじぃ~ の 近所にも

出店していただきたい

固定資産税 やらなんやら

同じじゃないから

らーめん いっぱい


500円

ちゃーしゅー
なると
のり

とっぴんぐ 全部


別料金 でも いいです

だれか~~~

思えば

らーめん店 行って ないよね???

ていうかさ・・・

らーめん店 へってないかい???

じじぃ~ の 徘徊る~と
だけか??

じじぃ~

python テキスト振り分け

こけこっこ~~~

生成AIとの

チャット ログ

たまりにたまったw

もう なにがなにやら・・・

そこで

【Gemini】様に
泣きついた

テキストファイルの
中身に 応じて
4択 分類にしてちょ~~~だい

# ==== 【Gemini】様

承知いたしました。実際に動かしてみると、元の場所にフォルダが散らばるより、一箇所にまとまっている方が管理しやすいですよね。

ご要望に合わせて、以下の仕様に変更したスクリプトを作成しました。

 主な変更点
1. コピーに変更: `shutil.move` ではなく `shutil.copy2` を使用し、元のファイルは残します。
2. 出力先を固定: `S:\_TXT\■_生成AI-分類` の中に 4つのフォルダ(text/python/micropython/arduino)を作成し、そこに集約します。
3. 同名ファイルの連番処理: すでに同名のファイルがある場合、`abc_1.txt`, `abc_2.txt` のように自動で連番を付与して保存します。

 拡張版 Pythonスクリプト: Code_Classifier_Collector.py

```python

import os
import shutil
import pathlib

# --- 設定項目 ---
SOURCE_DIR = r"S:\_TXT\■_生成AI"
TARGET_ROOT = r"S:\_TXT\■_生成AI-分類"

# カテゴリごとの特徴的なキーワード
KEYWORDS = {
    "micropython": [
        "from machine import", "import utime", "Pin(", "PWM(", "ADC(", "I2C(", "UART("
    ],
    "arduino": [
        "void setup()", "void loop()", "pinMode(", "digitalWrite(", "analogRead(", "#include <", "Serial.begin"
    ],
    "python": [
        "import ", "def ", "class ", "if __name__ ==", "print(", "from "
    ]
}

def judge_content(file_path):
    """ファイルの中身を解析してカテゴリを判定"""
    try:
        with open(file_path, 'r', encoding='utf-8') as f:
            lines = [f.readline() for _ in range(150)]
            content = "".join(lines)
            
            if sum(1 for kw in KEYWORDS["micropython"] if kw in content) >= 1:
                return "micropython"
            if sum(1 for kw in KEYWORDS["arduino"] if kw in content) >= 1:
                return "arduino"
            if sum(1 for kw in KEYWORDS["python"] if kw in content) >= 2:
                return "python"
            return "text"
    except Exception:
        return "text"

def get_unique_path(target_dir, file_name):
    """同名ファイルがある場合に連番を付与する (abc.txt -> abc_1.txt)"""
    base = pathlib.Path(file_name)
    stem = base.stem
    suffix = base.suffix
    
    counter = 1
    new_path = target_dir / file_name
    
    while new_path.exists():
        new_name = f"{stem}_{counter}{suffix}"
        new_path = target_dir / new_name
        counter += 1
    return new_path

def main():
    source_path = pathlib.Path(SOURCE_DIR)
    target_root_path = pathlib.Path(TARGET_ROOT)
    
    # カテゴリフォルダの準備
    categories = ["text", "python", "micropython", "arduino"]
    for cat in categories:
        (target_root_path / cat).mkdir(parents=True, exist_ok=True)
    
    # 再帰的に全 .txt ファイルを取得
    files = list(source_path.rglob("*.txt"))
    print(f"★ {len(files)} 個のファイルをスキャン中...")

    copy_count = 0
    for file_path in files:
        # 分類先フォルダ自体をスキャン対象から外す(無限ループ防止)
        if TARGET_ROOT in str(file_path):
            continue

        # 判定
        category = judge_content(file_path)
        
        # 保存先ディレクトリ
        dest_dir = target_root_path / category
        
        # 重複回避した保存先パスを取得
        final_dest = get_unique_path(dest_dir, file_path.name)
        
        try:
            # コピー実行 (shutil.copy2 はメタデータも保持します)
            shutil.copy2(str(file_path), str(final_dest))
            print(f"[{category:12}] {file_path.name} -> {final_dest.name}")
            copy_count += 1
        except Exception as e:
            print(f"[Error] {file_path.name} のコピー失敗: {e}")

    print(f"\n完了! {copy_count} 個のファイルを '{TARGET_ROOT}' に整理しました。")

if __name__ == "__main__":
    main()

```


 使いこなしのポイント

* 「コピー」なので安心: 元の `S:\_TXT\■_生成AI` フォルダ内のファイルは一切変更されません。
* 整理用フォルダ: `S:\_TXT\■_生成AI-分類` を見れば、すべてのファイルが4つのフォルダに綺麗に分かれています。
* 連番の付き方: `test.txt` が重複した場合、次は `test_1.txt`、その次は `test_2.txt` と増えていきます。

これでかなり見通しが良くなるはずです。ぜひ試してみてください!
# ==============================

# ==== じじぃ~

実行ログ の 終わり部分

[text        ] 高輝度自己点滅型LED_ 青色.txt -> 高輝度自己点滅型LED_ 青色_1.txt

完了!
4395 個のファイルを 'S:\_TXT\■_生成AI-分類' に整理しました。


深い階層を
あっちいったり
こっちいったり

しなくて 済むように
なりました

ありがとうございます


さてもさても

4395 個のファイル

4395 枚の 用紙とする!

人間様が
この 用紙の内容は・・・

うん python だ
うん text だ

と 目視確認 振り分け

どえりゃ~~~ 
時間
かかる


が!

生成AI様の 作った
pythonスクリプト


1分くらい
はい 
完了!

人間 大丈夫か???

きゃ◎ゃーん の 世界に・・・

じじぃ~