見出し画像

Python学習⑬~プログラムを完成させる~

現在、書籍を参考にPythonで簡単な自動化プログラムを作る勉強中です。

参考書籍↓

書籍に出てきた自動化プログラムを実際に作り、noteにアウトプットしています。

今回はいよいよプログラムを完成させていきます!


前回までのおさらい

今回作ろうとしているのは、参考書籍に載っていたプログラムを一部変えた以下のプログラムです。

  1. 「保管」フォルダ内に「バックアップ用のフォルダ」を作成

  2. 「企画書.docx」ファイルを「プロジェクトフォルダ」から「バックアップ用のフォルダ」内にコピー

  3. 「バックアップフォルダ用のフォルダ」をZIPファイルに圧縮

  4. 「バックアップフォルダ用のフォルダ」を削除

現在作ったプログラムは、まだ「バックアップ用フォルダ名」が暫定版で日付が固定されたままです。

前回、関数で取得した日付をyyyymmdeの文字列に変換し、文字列同士を連結させるところまでやりました。

今回は暫定版のバックアップ用フォルダ名を、当日の日付のフォルダ名に書き換えていきます。

コードを修正

上記のコードを3箇所修正・追加したコードは以下の通りです。

import os
import shutil
import datetime

dt = datetime.date.today()
bk_path = '保管\\backup' + dt.strftime('%Y%m%d')

# バックアップ用フォルダを作成
os.makedirs(bk_path)

# ファイルを別フォルダにコピーする
shutil.copy('プロジェクト\\企画書.docx', bk_path)

# バックアップ用フォルダをZIP圧縮
shutil.make_archive(bk_path,'zip',bk_path)

# バックアップ用フォルダを削除
shutil.rmtree(bk_path)

1箇所目はdatetimeモジュールを読み込みむため「import datetime」を追加します。

2箇所目は当日の日付を関数で取得し変数dtに代入する「dt = datetime.date.today()」を追加します。

3箇所目は右辺を変更しています。

変数bk_pathに前回作成した「'保管\\backup' + dt.strftime('%Y%m%d')」を代入するため、「bk_path = '保管\\backup' + dt.strftime('%Y%m%d')」と修正します。

実行してみると、当日の日付でZIPファイルが作成されました。

画像が小さくてすみません

これで、作ろうとしていた「バックアップフォルダ作成プログラム」はひとまず完成しました!

一応完成しましたが、次回はコードを整理したりしてもっと見やすくしていきます

今後も書籍で学んだことをアウトプットしていきます。

よろしければサポートお願いします!いただいたサポート費はクリエイターとしての活動費に使わせていただきます!