概要
超有名ライブラリなので、ご存知の方多いと思いますが、一応メモ。
個人的に pyperclip
と同じくらい、しょっちゅう使っているライブラリ。
pyperclip
については、以下でメモ書きました。
何してくれるライブラリ?
文字通り、指定ファイルをゴミ箱に送ってくれるライブラリです。
スクリプト書くときってファイル処理をするものが多いと思いますが
os.unlink
とかでファイルを削除すると、完全に消えてしまいます。(当然ですが
で、一応何かあったとき用とかテスト実行時とかはバックアップをちょいとつくっておいて実行したりするのが多いと思います。
そんなときに、このライブラリ使うとゴミ箱に送ってくれるので、元に戻すのも楽だしファイルも実際に消えてないし精神的に楽です。ついでに、クロスプラットフォームなので、OS関係なく使えます。
インストール
インストールは、conda で一発です。anaconda 環境だと最初から入ってるっぽい?
今回は、わざと専用の仮想環境作ってみました。
⟩ conda create --name send2trash send2trash Solving environment: done ## Package Plan ## environment location: /Users/devlights/anaconda3/envs/send2trash added / updated specs: - send2trash The following NEW packages will be INSTALLED: ca-certificates: 2017.08.26-ha1e5d58_0 certifi: 2018.1.18-py36_0 libcxx: 4.0.1-h579ed51_0 libcxxabi: 4.0.1-hebd6815_0 libedit: 3.1-hb4e282d_0 libffi: 3.2.1-h475c297_4 ncurses: 6.0-hd04f020_2 openssl: 1.0.2n-hdbc3d79_0 pip: 9.0.1-py36h1555ced_4 python: 3.6.4-hc167b69_1 readline: 7.0-hc1231fa_4 send2trash: 1.4.2-py36_0 setuptools: 38.4.0-py36_0 sqlite: 3.22.0-h3efe00b_0 tk: 8.6.7-h35a86e2_3 wheel: 0.30.0-py36h5eb2c71_1 xz: 5.2.3-h0278029_2 zlib: 1.2.11-hf3cbc9b_2 Proceed ([y]/n)? y Preparing transaction: done Verifying transaction: done Executing transaction: done # # To activate this environment, use # # $ conda activate send2trash # # To deactivate an active environment, use # # $ conda deactivate
使い方
使い方は、send2trash.send2trash(ファイル)
するだけです。
⟩ ipython (playground) Python 3.6.4 |Anaconda custom (64-bit)| (default, Jan 16 2018, 12:04:33) Type 'copyright', 'credits' or 'license' for more information IPython 6.2.1 -- An enhanced Interactive Python. Type '?' for help. In [1]: import send2trash In [2]: import os In [3]: os.chdir(f'{os.environ["HOME"]}/tmp/pytmp') In [4]: with open('py01.py', 'w') as fp: ...: fp.write('print("helloworld")\n') ...:
って感じで、わざと適当なファイルを作っておきます。
その上で、
In [5]: send2trash.send2trash('py01.py')
ってすると
って感じでちゃんとゴミ箱にいってくれています。
過去の記事については、以下のページからご参照下さい。
- いろいろ備忘録日記まとめ
サンプルコードは、以下の場所で公開しています。
- いろいろ備忘録日記サンプルソース置き場