Pythonのsubprocess
モジュールは、新しいプロセスを生成し、そのプロセスの入出力を扱うための一連の関数を提供します。これにより、Pythonスクリプトからシェルコマンドを実行することが可能となります。
例えば、ファイルのコピーを行うには以下のようにsubprocess.Popen()
を使用します。
import subprocess
src = "/path/to/source/file"
dst = "/path/to/destination/directory"
cmd = ["cp", src, dst]
subprocess.Popen(cmd)
このコードは、cp
コマンドを新しいプロセスとして実行し、src
で指定したファイルをdst
で指定したディレクトリにコピーします。
また、shell=True
を指定すると、シェル経由でコマンドを実行することができます。この場合、コマンドは文字列として指定します。
import subprocess
src = "/path/to/source/file"
dst = "/path/to/destination/directory"
cmd = "cp " + src + " " + dst
subprocess.Popen(cmd, shell=True)
ただし、shell=True
を使用すると、シェルの特殊文字をエスケープする必要があります。また、セキュリティ上のリスクもあるため、必要な場合にのみ使用することをお勧めします。
以上が、Pythonのsubprocess
モジュールを使用してファイルのコピーを行う基本的な方法です。これを応用することで、より複雑なファイル操作をPythonから行うことが可能となります。