作業フォルダを作る

投稿者: | 2022-06-25
  • 同名フォルダがない場合、指定フォルダを作成する
  • 同名フォルダがあった場合、2回警告し、上書きされる(元のデータは消える)
from datetime import datetime
import pathlib
import shutil

# 作業フォルダPATHを作成
def make_work_dir():

    # そのままENTERした場合、ファイル名は「tmp」
    dirname = input('dirname?: ')
    # or fixed name

    if dirname == '':
        dirname = 'tmp'

    suffix_now = (datetime.now()).strftime('%m%d%H%M')

    curent = pathlib.Path(__file__).resolve().parent
    # pathlib.Path.home()だと、ユーザープロファイルになる

    dirname = f'{dirname}_{suffix_now}'

    global dir_p # 他でも使うならグローバル変数にする
    dir_p = curent / dirname

    if dir_p.exists():
        if input('WARNING: Overwrite same folder?(y/n): ') == 'y':
            if input('Realy? Realy? Overwrite?(y/n): ') == 'y':
                shutil.rmtree(dir_p)
                dir_p.mkdir()
                print(f'Done: {dir_p}')
            else:
                print('Canceled')
                return
        else:
            print('Canceled')
            return
    else:
        dir_p.mkdir()
        print(f'Done: {dir_p}')

make_work_dir()