どうすれば同等のことができるでしょうかmv
Python では?
mv "path/to/current/file.foo" "path/to/new/destination/for/file.foo"
ベストアンサー1
os.rename()
、os.replace()
、 またはshutil.move()
すべて同じ構文を使用します:
import os
import shutil
os.rename("path/to/current/file.foo", "path/to/new/destination/for/file.foo")
os.replace("path/to/current/file.foo", "path/to/new/destination/for/file.foo")
shutil.move("path/to/current/file.foo", "path/to/new/destination/for/file.foo")
- ファイル名 (
"file.foo"
) は、ソース引数と宛先引数の両方に含める必要があります。 両者でファイル名が異なる場合、ファイルは移動されるだけでなく名前も変更されます。 - 新しいファイルが作成されるディレクトリがすでに存在している必要があります。
- Windows では、その名前のファイルが存在してはなりません。存在しない場合は例外が発生しますが、
os.replace()
その場合でもファイルは自動的に置き換えられます。 shutil.move
ほとんどの場合、単に呼び出しますos.rename
。ただし、コピー先がコピー元と異なるディスク上にある場合は、代わりにコピー元ファイルをコピーしてから削除します。