Pythonでの高レベルのファイル操作(shutil)
Pythonの標準ライブラリのshutilモジュールでは、ファイルとディレクトリに対するhghレベルの操作のための多くの関数が定義されています。
copy()
この関数は、ファイルを同じディレクトリまたは他のディレクトリの指定されたファイルにコピーします。関数の最初のパラメーターは、既存のファイルの文字列表現です。 2番目の引数は、結果のファイルまたはディレクトリの名前です。ディレクトリの場合、ファイルは同じ名前で処理されます。元のファイルのメタデータは維持されません。
>>> import shutil >>> shutil.copy("hello.py","newdir/") 'newdir/hello.py'
copy2()
この関数は、ソースファイルのメタデータを保持するという点を除けば、copy()関数に似ています。たとえば、結果のファイルの変更日プロパティは元のファイルと同様になります。
>>> shutil.copy2('person.py', 'newdir/') 'newdir/person.py'
copyfile()
この関数の2つの文字列引数はファイル名を表します。これは、元のファイルが同じディレクトリに指定された名前でコピーされることを意味します。
>>> shutil.copyfile('start.py', 'end.py') 'end.py'
copyfileobj()
この関数のパラメーターは、ファイルを表す文字列ではなく、ファイルオブジェクトです。ファイルオブジェクトはopen()関数によって取得されます。元のファイルには読み取り権限が必要であり、結果のファイルは書き込み権限で開く必要があります。
>>> f1=open('hello.py','r') >>> f2=open('python.py','w') >>> shutil.copyfileobj('f1', 'f2') >>> shutil.copyfileobj(f1, f2)
move()
この関数は、ファイルとディレクトリをオンディレクトリから他のディレクトリに再帰的に移動します。
>>> shutil.move('hello.py', 'newdir/') 'newdir/hello.py'
copytree()
この関数は、あるディレクトリ内のファイルとサブディレクトリを別のディレクトリに再帰的にコピーします。 2つのパラメーターの名前は文字列でなければなりません。 2番目のパラメータの名前のディレクトリは以前に存在してはなりません。個々のファイルをコピーするには、copy2()関数が内部的に使用されます。
>>> shutil.copytree('dir1','dir2') 'dir2'
rmtree()
この関数は、指定されたディレクトリ内のファイルとサブディレクトリを削除します。
>>> shutil.rmtree('dir2') >>> shutil.move('hello.py', 'newdir/') 'newdir/hello.py'
disk_usage()
この関数は、指定されたディレクトリの使用統計を取得します。
>>> shutil.disk_usage('c:\\python36\\dir1') usage(total=245681352704, used=84932993024, free=160748359680)
which()
この関数は、実行可能ファイルへのパスを返します。
>>> shutil.which('calc') 'C:\\WINDOWS\\system32\\calc.EXE'
make_archive()
この関数は、ルートディレクトリにファイルのアーカイブ(zipまたはtar)を作成します。
>>> root_dir='newdir' >>> shutil.make_archive("newdirarch","zip",root_dir) 'C:\\python36\\newdirarch.zip'
get_archive_formats()
この関数は、サポートされているすべてのアーカイブ形式を提供します。
>>> shutil.get_archive_formats() [('bztar', "bzip2'ed tar-file"), ('gztar', "gzip'ed tar-file"), ('tar', 'uncompressed tar file'), ('xztar', "xz'ed tar-file"), ('zip', 'ZIP file')]
unpack_archive()
この関数は、指定されたアーカイブ内のファイルを抽出します。 2番目のパラメータは、ファイルが抽出されるディレクトリです。指定しない場合、解凍は現在のディレクトリで実行されます。
>>> shutil.unpack_archive('newdirarch.zip','newdir')
-
Pythonのファイルオブジェクト?
Pythonでは、ファイルの読み取りまたは書き込みを試みるたびに、ライブラリがネイティブに処理されるため、ライブラリをインポートする必要はありません。 最初に行うことは、組み込みのopen関数を使用してファイルオブジェクトを取得することです。 open関数はファイルを開き、ファイルオブジェクトを返します。ファイルオブジェクトには、情報を取得したり、開いたファイルを操作したりするために使用できるメソッドと属性が含まれています。 ファイルとは何ですか? ファイルに対して操作を行う前に、まずファイルとは何かを理解しましょう。ファイルは、関連情報を保存するためのディスク上の名前付きの場所です。フ
-
Pythonのジャンクファイルオーガナイザー?
これは、ほとんどのファイルとフォルダーを1つの場所に保持し、すべてのファイルが何であるか混乱することがあり、手動でそれを行うには怠惰すぎるPythonプログラマーにとって非常に役立つように思われるかもしれません。以下は、適切なフォルダ内のすべてを1回で整理または簡略化して、空のディレクトリを削除するPythonプログラムです。 したがって、さまざまなタイプのファイルが多数存在するディレクトリパスがあり(以下のように)、プログラムは各ファイルタイプをそれぞれのフォルダに分離します(以下のように)。 入力フォルダの構造 必要な出力 まず、さまざまなフォルダに分離するファイル