如果已存在相同的文件名,则移动并替换?
Move and replace if same file name already exists?
下面是移动和替换单个文件的代码:
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))
我通过在移动命令中为源和目标提供完整路径来覆盖它...
记得为 Windows 路径添加双斜杠。
# this is to change directories (type your own)
os.chdir("C:\REPORTS\DAILY_REPORTS")
# current dir (to verify)
cwd = os.getcwd()
src = cwd
dst = cwd + '\XLS_BACKUP\'
shutil.move(os.path.join(src, file), os.path.join(dst, file))
# nice and short.
下面是移动和替换单个文件的代码:
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))
我通过在移动命令中为源和目标提供完整路径来覆盖它... 记得为 Windows 路径添加双斜杠。
# this is to change directories (type your own)
os.chdir("C:\REPORTS\DAILY_REPORTS")
# current dir (to verify)
cwd = os.getcwd()
src = cwd
dst = cwd + '\XLS_BACKUP\'
shutil.move(os.path.join(src, file), os.path.join(dst, file))
# nice and short.