2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

send2trashによるファイルの一括削除

Posted at

こんにちは、rickyといいます。
今回はファイルの管理の方法として、send2trashでファイルをゴミ箱に移す作業を行います。
フォルダの中にいらないtxtファイルが大量にある場合、そのカレントディレクトリ下から一括で消去する方法になります。

概要
ファイルの削除にはshutilモジュールもありますが、ファイルやフォルダを完全に削除してしまう場合があるので、扱いが難しいです。
そこでsend2trashモジュールを使います。
このモジュールを使うとファイルやフォルダをゴミ箱に移動させるので安全な消去が出来ます。

開発環境 Ubuntu18.10、python3.7.0、jupyter

今回はデスクトップに不要なtxtファイルを作成します。
その後そのファイルをまとめて削除するという流れになります。

以下ソースコード

ディレクトリの移動

import os
os.chdir('/home/ricky/Desktop/')

不要なファイルの生成

for i in range(10):
junk_file = open('trash{}.txt'.format(i), 'a')
junk_file.write('hogehoge{}'.format(i))
junk_file.close()

一括削除

import os, send2trash
for filename in os.listdir():
if filename.endswith('.txt'):
send2trash.send2trash(filename)

あとがき
今回のメソッドは簡単にもかかわらず、ファイルに直接操作ができるので、かなり実用性が高いです。
カレントディレクトリ下にある不要なファイルを一つずつ削除するのではなく、コードを書くことで、消し忘れなども防ぐことが出来ます。
注意点としてはコードを書いている際にもカレントディレクトリについて意識しないと、別のファイルにあるtxtファイルを削除してしまう恐れがあります。ご注意を。

分かりづらいと感じられた所や、この書き方の方がいいよというアイデアがありましたら、ご一報いただけると幸いです。
ここまで読んでいただきありがとうございました。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?