python-os.rmdirとshutil.rmtreeの違いと使い方

pycharmが自動的その後、自分で短いサイクル自動的に次のファイルとディレクトリを削除するコードを記述し、コードの提出時に一つ一つを削除しなければならなかった__pycache__ファイルキャッシュファイルを生成するとき、それぞれのスクリプトを書きます。

アイデア:

まず、ディレクトリとそのファイルを読み出し、その後、ディレクトリ内のファイルを削除し、空のディレクトリを削除します。

最初のステップ:

輸入OS

os.walk(上部、[、トップダウン] [、ONERROR] [、followlinks])を使用してディレクトリを横断します

どこで:

トップ:ルートディレクトリを横断するコンテンツを指定します。

トップダウン:トラバーサル順序を指定するオプションのパラメータ。Falseの場合、最初は最後のサブディレクトリを横断する、真のトップダウントラバース(つまり、最初の横断ルートディレクトリである)ことを示しています。デフォルトはTrueです。

戻り値:値タプル発生素子3を返します。dirnamesは、現在のディレクトリは、サブディレクトリがリストで含ま表し;、現在DIRPATHのパスを表す文字列を横断する電流経路、リストに含まれるファイル名のファイルを示しています。

 

ステップ2:

os.remove:ファイルを削除します

os.rmdir:ディレクトリ内のファイルがある場合、その値に注意を払う、ディレクトリを削除するには、そのディレクトリが空でない場合、削除は、エラーをスローに失敗します。

最初のディレクトリ内のファイルを削除し、ディレクトリを空に、forループを使用してください。ファイル、ディレクトリを削除するために失敗し、その結果、クリーンを防ぐために削除されていないサブディレクトリの最後のレベルの最初からファイルを削除することに留意すべきです。

 

コードは以下の通りであります:

1つのインポートOSの 
  タプル= os.walk(=トップダウントップ=トップ、偽) 2   ためのルート、DIRS、ファイル内のタプル: 3   であれば " __pycache__ " ルート: 4    のための名前ファイル: 5   os.remove(はos.path。参加する(ルート、名前)) 6    os.rmdir(os.path.join(ルート))

 

 

方法2:確認後、Pythonはより強力なモジュールがあり、1つのコマンドの下にあるファイルやディレクトリを削除することができ、このモジュールはshutilです。

コードは以下の通りであります:

import文OSの
 import文shutil

タプル = os.walk(トップ=トップ、トップダウン= 偽)
 のためのルート、dirsに、ファイル:タプル
     プリント(根、dirsに、ファイル)
     であれば " __pycache__ "  ルート:
        shutil.rmtree(os.path.join(ルート))

 

Pythonは本当に強力、ちょうどなしそれはできない、と思います。

おすすめ

転載: www.cnblogs.com/fish-101/p/11721261.html