1. ホーム
  2. python-2.7

[解決済み] 同じファイル名が既に存在する場合、移動して置き換えるか?

2022-02-07 07:29:02

質問

以下は、個別のファイルの移動と置換を行うコードです。

import shutil
import os
src = 'scrFolder'
dst = './dstFolder/'
filelist = []

files = os.listdir( src )
for filename in files:
    filelist.append(filename)
    fullpath = src + '/' + filename
    shutil.move(fullpath, dst)

同じコマンドを実行し、既に存在するファイルを dst folder と表示されます。 shutil.Error: Destination path './dstFolder/file.txt' already exists . 同じファイル名がすでに存在する場合、移動と置換はどのように行うのですか?

どのように解決するのですか?

保存先へのフルパス(ディレクトリだけでなく)を指定した場合は shutil.move は、既存のファイルをすべて上書きします。

shutil.move(os.path.join(src, filename), os.path.join(dst, filename))