ホームページ >バックエンド開発 >Python チュートリアル >Pythonのshutilモジュールの一般的なファイル操作関数の使用例
os モジュールは、ディレクトリまたはファイルの新規/削除/表示されたファイル属性を提供し、ファイルとディレクトリのパス操作も提供します。例: 絶対パス、親ディレクトリ... ただし、os ファイルの操作には、移動、コピー、パッケージ化、圧縮、解凍などの操作も含まれている必要があります。これらの os モジュールは提供されていません。
この記事で説明する shutil は、os でのファイル操作を補足するものです。 -- 移動、コピー、パック、圧縮、解凍
シャティル関数関数:
1 shutil.copyfileobj(fsrc, fdst[, length=16*1024])
ファイルの内容を別のファイルにコピー、指定したサイズの内容をコピーできます
まずはそのソースコードを見てみましょう。
注意! このうち、fsrc と fdst はファイルオブジェクトであり、コピーを実行する前に開く必要があります
2 shutil.copyfile(src,dst)
ファイルの内容をコピーします。上記のファイルをコピーするのは面倒だと思いますか?また、open 関数を使用してファイルを手動で開く必要がありますが、実際には、copyfile は copyfileobj
を呼び出します。
3 shutil.copymode(src,dst)
コピー権限のみ。ファイルの内容、グループ、ユーザーは変更されません。
まず 2 つのファイルの権限を確認してください
コマンドを実行
結果を見る
対象ファイルを存在しないファイルに置き換えるとエラーが発生します
4 shutil.copystat(src,dst)
権限、グループ、ユーザー、時間などを含むすべてのステータス情報をコピーします。
5 shutil.copy(src,dst)
ファイルの内容と権限をコピーします。最初にファイルをコピーし、次にコピーモードを実行します
6 shutil.copy2(src,dst)
ファイルの内容とファイルのすべてのステータス情報をコピーします。最初にファイルをコピーし、次にコピー統計をコピーします
7 shutil.copytree(src、dst、symlinks=False、ignore=None、copy_function=copy2、ignore_dangling_symlinks=False)
ファイルの内容とステータス情報を再帰的にコピーします
8 shutil.rmtree(パス、ignore_errors=False、onerror=None)
ファイルを再帰的に削除する
9 shutil.move(src, dst)
ファイルを再帰的に移動する
10 make_archive(base_name、format、root_dir=なし、base_dir=なし、verbose=0、dry_run=0、owner=なし、group=なし、logger=なし)
圧縮して梱包されています
base_name: 圧縮およびパッケージ化後のファイル名またはパス名
format: 圧縮またはパッケージ化形式「zip」、「tar」、「bztar」または「gztar」
root_dir: パッケージ化するディレクトリまたはファイル (つまり、ソースファイル)