2020-02-12

shutil - python

フォルダ、ファイルを操作する。
まずはインポート。
import shutil

・ファイルのコピー

テスト用フォルダとファイルを用意。
C:\test_directory

フォルダ構成
test_directory
    ┗ folder_1
        ┗ test_file.txt
    ┗ folder_2


shutil.copy() でフォルダやファイルをコピーする。
移動元、移動先の2つのパスを指定する。
移動先に同じ名前のファイルがある場合、上書きされる。
import shutil

strFrom = r'C:\test_directory\folder_1\test_file.txt'
strTo = r'C:\test_directory\test_file.txt'

shutil.copy( strFrom, strTo )

#出力
#

ファイルがコピーされた。


ファイル名を変更してコピー することも可能。
import shutil

strFrom = r'C:\test_directory\folder_1\test_file.txt'
#移動先のパスで新しいファイル名を指定
strTo = r'C:\test_directory\test_file_rename.txt'

shutil.copy( strFrom, strTo )

#出力
#




・フォルダのコピー

フォルダのコピーは shutil.copytree() を使う。
使い方はファイルの時と同じ。
import shutil
 
strFrom = r'C:\test_directory\folder_1'
strTo = r'C:\test_directory\folder_rename'
 
shutil.copytree( strFrom, strTo )

#移動先に同じ名前のフォルダがある場合、エラーになる
shutil.copytree( strFrom, strTo )

#出力
# FileExistsError: [WinError 183] 既に存在するファイルを作成することはできません。: 'C:\\test_directory\\folder_rename'




・フォルダ、ファイルの移動

shutil.move() でフォルダ、ファイルを移動できる。
使い方はコピーと同じ。
import shutil
 
strFrom = r'C:\test_directory\test_file_rename.txt'
strTo = r'C:\test_directory\test_file_rename_2.txt'
 
shutil.move( strFrom, strTo )

#出力
#

今回の場合、見た目はファイル名が変わっただけ。



・空でないフォルダの削除

shutil.rmtree() でフォルダを削除できる。
削除するフォルダのパスを指定。
※ファイル、空のフォルダの削除は os モジュールで出来る。
記事はこちら ⇒
import shutil

strFolder = r'C:\test_directory\folder_1'

shutil.rmtree( strFolder )

#出力
#

0 件のコメント:

コメントを投稿