独学Python備忘録7(ダウンロードフォルダをキレイにする)
プログラム言語の勉強を独学で開始する際、まずはYouTubeや本で始めると思います。
そして
a=1(変数に数字を代入して)
print(a)
みたいな事からで・・・
基礎が必要なことは、本当にわかっています!!!
でも!
これが実務にどうつながる???
基礎が必要なことは、本当にわかっています!!!
でも、すぐに実務に使いたいんです!
ていうことで、Pythonで実務を自動化していて、普段も便利に使っているコードをひとつ紹介します!
「Pythonでダウンロードフォルダを空にする」です!
もちろんコードは勉強したわけではなく、ChatGPTに「python で PCのダウンロードフォルダ内のファイルをすべて消去するコードを知っていますか?」と聞いて作ってもらってたものです。
import os
import shutil
def delete_folder_contents_if_not_empty(path):
# フォルダが存在し、かつ空でないことを確認
if os.path.exists(path) and os.listdir(path):
# フォルダ内のすべてのファイルとサブフォルダを削除
for filename in os.listdir(path):
file_path = os.path.join(path, filename)
try:
if os.path.isfile(file_path) or os.path.islink(file_path):
os.unlink(file_path) # ファイルまたはシンボリックリンクを削除
elif os.path.isdir(file_path):
shutil.rmtree(file_path) # ディレクトリを削除
except Exception as e:
print(f'Failed to delete {file_path}. Reason: {e}')
print("フォルダの内容を削除しました。")
else:
# フォルダが空または存在しない場合
if not os.path.exists(path):
print("指定されたパスが存在しません。")
else:
print("フォルダは既に空です。")
# ●●●は、正しいフォルダのパスを入力する
delete_folder_contents_if_not_empty(r'C:\\Users\\●●●\\Downloads')
そのままコードをコピーして、Visual Studio Codeに張り付けると、うまくいかないようなので、TEST.pyをダウンロードして、Visual Studio Codeで開いてください。
コードの一番下(r'C:\Users\●●●\Downloads')の●●●は、PCごとに異なりますので 実際のダウンロードフォルダのパス を書き換えてください。もちろん実行の際はバックアップをとるなど自己責任で!
delete_folder_contents_if_not_empty(r'C:\Users\●●●\Downloads')
え?パスって?と思った人は、パス = ファイルやフォルダの住所 と覚えてください。
下のようにエクスプローラーを開いて自分のダウンロードフォルダを右クリックしてメニューを出したら「パスのコピー」を選びます。フォルダのパス(住所)がコピーされますので、()内をコードに張り付けて書き換えてください。
なぜこれを便利に使っているかというと、自動化でシステムから資料をダウンロードし必要な形(必要な列だけにするなど)にするのですが、ダウンロードしてきたファイル名を指定できる場合はいいのですが、ほとんどの場合、自動的にファイル名+日時分秒などになると思います。
ダウンロード後は、ファイル名を指定してマクロなどを実行するのですが、毎回名前が違うので、思ったようにファイルを指定できなかったりします。
そこで、作成日時が一番新しいファイルを選択させて変更を加えるようにするのですが、更に正しく実行するためにフォルダ内をキレイにしておくと、ダウンロードしたファイルはそれひとつだけなので、失敗することがなくなります。
このあたりが独学素人ならでわかもしれません。
お試しくださいー^^