TOP > blog > 生成Aiで python プログラミング例 ファイルのドラッグ保存
パソコン
2024/07/26

生成Aiで python プログラミング例 ファイルのドラッグ保存

管理者用
blog

今回は、pythonを使ったプログラミングの紹介です。

前回は、VBSを使ったファイルリスト書き出しスクリプトをAiにコーディングしてもらいました。
今回は、pythonを使って見ることにしました。
pythonには、だいぶ前から興味がありました。したがって、動かす環境だけは、整えておりました。
その時は、導入編の動画を見ながら、簡単なもので使っても見ました。
それから、数年経ってすっかり忘れてました。

 python コーイング

 

生成Aiに指示

ディスクトップ上に特定のアイコンを用意して、そこに様々なファイルをドラックする
ドラックしたファイルは特定の決まったフォルダーに移動する。
移動したファイル名や移動した日付などを エクセルシートに追加記述する
このようなスクリプトをPythonでお願い

 

生成Aiがコーディング

画像では、割愛している部分が多いですが、プログラムやのの解説なども表示されました。

 

 

                      中略 

 

実行

・コーディングしてくれたデータをコピーして、メモ帳などのエディターで、◯◯◯.py (パイソンファイル)を作成する。

・コーディング内の、ファイルパスは、書き換えて置く必要があります。

  ドラックする空のフォルダー(ディスクトップが作業しやすい)

  ドラッグしてたファイルの保存先フォルダーの場所

  保存したファイルリスト用のエクセルファイルの場所

 

ディスクトップ上の、パイソンファイルと、ドラック用の空フォルダーの画像

 

 

コマンドプロンプトにてプログラムを実行します。、

> python ◯◯◯.py 

何も動いて無いようですが、プログラムは実行開始してます。

保存したいファイルや、フォルダーをドラッグします。
ドラックしたファイルは、記述したフォルダーに移動します。

 

 

結果、ドラックして移動保存したファイル

 

 

結果 ドラックして移動したファイルの情報をリスト化

 

 

 

生成したパイソンファイル 

 ファイルを操作するプログラムになっているので注意

 

import os
import shutil
from datetime import datetime
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler
from openpyxl import Workbook, load_workbook

# 監視するフォルダのパス
watch_folder = r'C:\Users\saneiprint\Desktop\WatchFolder'
# 移動先のフォルダ
destination_folder = r'C:\Users\saneiprint\DestinationFolder'
# ログを記録するExcelファイルのパス
log_file = r'C:\Users\saneiprint\log.xlsx'

# Excelファイルが存在しない場合は作成
if not os.path.exists(log_file):
    wb = Workbook()
    ws = wb.active
    ws.append(["File Name", "Date Moved"])
    wb.save(log_file)

def log_to_excel(file_name):
    wb = load_workbook(log_file)
    ws = wb.active
    ws.append([file_name, datetime.now().strftime('%Y-%m-%d %H:%M:%S')])
    wb.save(log_file)

class Watcher(FileSystemEventHandler):
    def on_created(self, event):
        if not event.is_directory:
            file_name = os.path.basename(event.src_path)
            shutil.move(event.src_path, os.path.join(destination_folder, file_name))
            log_to_excel(file_name)

if __name__ == "__main__":
    event_handler = Watcher()
    observer = Observer()
    observer.schedule(event_handler, watch_folder, recursive=False)
    observer.start()

    try:
        while True:
            pass
    except KeyboardInterrupt:
        observer.stop()
    observer.join()

 以上

どうですか、すっかり忘れていたpythonですが、思ったようなプログラムになっているようには見えます。
本当に、使えるようにものにするには、仕様をもっと練る必要はありそうですが、

 

 

関連記事