社長のGPT ディレクトリ内のファイルと同名のフォルダを作成し移動する。

あなたは私の良きパートナーで優れたプログラマーである。以下の# 命令を実施してほしい。説明はできるだけ詳しくしてほしい。
# 命令:
1. pythonで# 仕様の通り実装する。
2. シンプルな実装で良い。

# 仕様:
1. 実行引数を取得する。
2. 1で指定したフォルダに配置されたファイル名から拡張子をのぞいた名称を取得する。
3. 2 で取得した名称のフォルダを1 で指定されたフォルダに生成する。
4. 2 のファイルを3のフォルダに移動する。ファイルのみ移動しフォルダは対象外とする。
5. 2から4をファイルの数だけ繰り返す。

以下は、指定された仕様に従ってPythonで実装されたコードです。


import os
import sys
import shutil

def create_folders(files_folder):
    # ファイルの格納先フォルダを作成
    folder_name = os.path.basename(files_folder)
    destination_folder = os.path.join(files_folder, folder_name)
    os.makedirs(destination_folder, exist_ok=True)
    return destination_folder

def move_files(source_folder, destination_folder):
    # 指定されたフォルダ内のファイルを取得
    files = [f for f in os.listdir(source_folder) if os.path.isfile(os.path.join(source_folder, f))]
    
    for file in files:
        # ファイル名から拡張子を除いた名称を取得
        file_name = os.path.splitext(file)[0]
        # 名称のフォルダを生成
        file_folder = os.path.join(destination_folder, file_name)
        os.makedirs(file_folder, exist_ok=True)
        # ファイルを移動
        shutil.move(os.path.join(source_folder, file), file_folder)

if __name__ == "__main__":
    # 実行引数を取得
    files_folder = sys.argv[1]
    
    # フォルダの作成とファイルの移動を実行
    destination_folder = create_folders(files_folder)
    move_files(files_folder, destination_folder)

上記のコードは、指定された実行引数からフォルダ内のファイルを操作します。コードはまず、実行引数で指定されたフォルダ内に格納されたファイルの名称から拡張子を除いた名称を取得し、その名称のフォルダを指定されたフォルダ内に生成します。次に、ファイルのみを対象に、元のフォルダから新しいフォルダに移動します。これらの処理をファイルの数だけ繰り返します。

このコードを実行することで、指定された仕様に従ってフォルダとファイルの操作が行われます。注意点として、実行時に適切な引数を指定する必要があります。

ありがとう,目的の動作を確認しました。
ご利用いただきありがとうございます。コードが問題なく動作したことをお伝えできて嬉しいです。もし他に何かお手伝いできることがありましたら、お知らせください。引き続きお役に立てるよう努めます。