pythonでファイルのコピー・移動
pythonでファイル操作(not中身)をするときにはosパッケージかshutilパッケージを使います。
- os 14.1.4 ファイルとディレクトリ
- shutil 404 Not Found
コピー
コピーはshutilパッケージで出来ます。
ex) ディレクトリをコピーする
import shutil shutil.copytree( "dir1" , "dir2" )
shutilパッケージでは主にコピーと再帰的にディレクトリを処理するAPIを提供してくれます。
- copyfile
- copytree
- rmtree
移動
移動はosパッケージに用意されています。
ex) ディレクトリ操作
import os os.mkdir( "dir" ) os.rename( "dir" , "folder" ) os.remove( "folder" )
osパッケージではこれ以外にも細かいAPIまで用意されています
- symlink
- chown
まとめ
コピーはshutil
移動はos
で、なんで別れてるの?
付録
shutil.copy( src , dist )
@param src コピー元のファイルパス。ディレクトリはダメ。
@param dist コピー先のパス
srcからdistへコピー。distの挙動はcpコマンドと同じ。
shutil.copytree( src , dist )
@param src コピー元のディレクトリパス。ファイルはだめ。
@param dist コピー先のパス
だいたいcp -rと思えばOK
shutil.rmtree( target )
@param target 削除するディレクトリパス。ファイルはだめ。
rm -rfと思えばOK。
os.rename( src , dist )
@param src 移動・リネームするファイルパス
@param dist 処理先のパス
mvコマンド