Pythonでファイルやディレクトリを削除する方法

Pythonでファイルやディレクトリを削除する方法

ファイルの削除

Pythonでは、あなたは、単一のファイルを削除するには()、os.unlink()、()、pathlib.Path.unlink()os.removeを使用することができます。

osモジュールは、オペレーティングシステムと相互作用するポータブル方法を提供します。モジュールは、Python 2と3を使用することができます。

1つのファイルを削除します)(os.removeを使用するには、ファイルに渡されたパラメータとしてパスを設定します。

輸入OS

FILE_PATH = '/tmp/linuxmi.txt'
os.remove(FILE_PATH)

os.remove()とos.unlink()関数は、意味的に同一です。

輸入OS

FILE_PATH = '/ TMP / _cafenv-appconfig_'
os.unlink(FILE_PATH)

Pythonでファイルやディレクトリを削除する方法

削除ファイルは書き込みを持っていると、ファイルを含むディレクトリのパーミッションを実行する必要があります。そうしないと、あなたはPermissionErrorエラーが発生します。

あなたは、ファイルを削除すると、エラーを回避するには、例外をキャッチし、適切なエラーメッセージの例外処理を送ることができます。

輸入OS

FILE_PATH = 'を/ tmp / _cafenv-appconfig_'

試してみてください。
    os.remove(FILE_PATH)
eとOSErrorのを除い:
    印刷( "エラー:%sの:%s"は%(FILE_PATH、e.strerror))

図は次のとおりです。

Pythonでファイルやディレクトリを削除する方法

エラー:を/ tmp / _cafenv-appconfig_:操作は許可されていません

Pythonの3.4以降で利用可能pathlibモジュール。Pythonの2では、このモジュールを使用するには、それはピップをマウントすることができます。pathlibは、異なるオペレーティングシステムを処理するためのファイルシステムパスへのオブジェクト指向インターフェースを提供します。

使用pathlibモジュール削除ファイルに、ファイルへのパスオブジェクトを作成し、オブジェクトのメソッド)(リンク解除を呼び出します。

pathlibインポートパスから

FILE_PATH =パス( '/ tmpに/ linuxmi.txt')

試し:
    file_path.unlink()
eとOSErrorのを除い:
    印刷( "エラー:%sの:%s"は%(FILE_PATH、e.strerror))

pathlib.Path.unlink()、os.remove()とos.unlinkは()もシンボリックリンクを削除するために使用することができます。

パターンマッチング

あなたは、複数のファイルに係るパターンマッチンググロブモジュールを使用することができます。たとえば、すべての.txtファイル/ tmpディレクトリを削除するには、次のように使用します。

インポートのOS
インポートグローブ

ファイル= glob.glob( 'を/ tmp / *。TXT')

ファイル内のfに対する:
    試してみてください。
        f.unlink()
    eとOSErrorのを除い:
        印刷( "エラー:%sの:%s"は%(F、e.strerror))

再帰的に/ tmpディレクトリを削除し、すべてのサブディレクトリのすべての.txtファイルは、再帰的下さい= Trueのパラメータは** `モード` `)(グロブに渡された機能、および使用:

インポートのOS
インポートグローブ

ファイル= glob.glob( '/ tmpに/ ** / *。TXT'、再帰=真)

ファイル内のfに対する:
    試してみてください。
        os.remove(f)は
    eとOSErrorのを除い:
        印刷( "エラー:%sの:%s"は%(F、e.strerror))

pathlibモジュールは、指定されたディレクトリ内のファイルを一致させるために、グロブグロブ()とrglob()の二つの機能が含まれています。グロブ()は、ファイルの唯一の最上位ディレクトリに一致します。rglob()を再帰的にディレクトリ内のすべてのファイルとすべてのサブディレクトリに一致します。次のサンプルコードでは、すべての.txtファイル/ tmpディレクトリを削除します。

pathlibインポートパスから

パス( '/ tmp'の)中、Fはglob( '* TXT。'):
    試してみる:
        f.unlink()
    eとOSErrorのを除い:
        印刷( "エラー:%sの:%s"は%(F、e.strerror ))

ディレクトリ(フォルダ)を削除します。

Pythonでは、あなたは()非空のディレクトリを削除し、空のディレクトリ、およびshutil.rmtreeを削除するにはos.rmdir()とpathlib.Path.rmdir()を使用することができます。

空のディレクトリを削除する方法を次の例が示します:

輸入OS

dir_path = 'を/ tmp / linuxmi'

試してみてください。
    os.rmdir(dir_path)
eとOSErrorのを除い:
    印刷( "エラー:%sの:%s"は%(dir_path、e.strerror))

また、あなたはpathlibモジュール削除ディレクトリを使用することができます。

pathlibインポートパスから

dir_path =パス( '/ tmpに/ linuxmi')

試し:
    dir_path.rmdir()
eとOSErrorのを除い:
    印刷( "エラー:%sの:%s"は%(dir_path、e.strerror))

shutilモジュールを使用すると、ファイルやディレクトリに多くの高度な操作を実行することができます。

使用shutil.rmtree()関数は、あなたがその内容を含め、指定されたディレクトリを削除することができます。

輸入shutil

dir_path = 'を/ tmp / linuxmi'

試してみてください。
    shutil.rmtree(dir_path)
eとOSErrorのを除い:
    印刷( "エラー:%sの:%s"は%(dir_path、e.strerror))


shutil.rmtreeに渡されたパラメータは、()ディレクトリへのシンボリックリンクにすることはできません。

概要

Pythonは、ファイルを操作するためのいくつかのモジュールを提供します。

私たちは、あなたがos.remove()、os.unlink()とpathlib.Path.unlink()1つのファイルを削除し、os.rmdir()とpathlib.Path.rmdir()空白のドキュメントを削除し、shutilを使用する方法を示しています.rmtree()を再帰的にディレクトリとそのすべての内容を削除します。

ファイルやディレクトリを削除するときにファイルを削除したら、あなたは簡単にそれを回復することはできませんので、細心の注意を払ってください。

ご質問やフィードバックがありましたら、コメントにお気軽にどうぞ。

おすすめ

転載: www.linuxidc.com/Linux/2020-02/162221.htm