Python copy files to a new directory and rename if file name already exists
Python copy files to a new directory and rename if file name already exists
Sometimes it is just easier to start over… I apologize if there is any typo, I havent had the time to test it thoroughly.
movdir = rC:Scans
basedir = rC:Links
# Walk through all files in the directory that contains the files to copy
for root, dirs, files in os.walk(movdir):
for filename in files:
# I use absolute path, case you want to move several dirs.
old_name = os.path.join( os.path.abspath(root), filename )
# Separate base from extension
base, extension = os.path.splitext(filename)
# Initial new name
new_name = os.path.join(basedir, base, filename)
# If folder basedir/base does not exist... You dont want to create it?
if not os.path.exists(os.path.join(basedir, base)):
print os.path.join(basedir,base), not found
continue # Next filename
elif not os.path.exists(new_name): # folder exists, file does not
shutil.copy(old_name, new_name)
else: # folder exists, file exists as well
ii = 1
while True:
new_name = os.path.join(basedir,base, base + _ + str(ii) + extension)
if not os.path.exists(new_name):
shutil.copy(old_name, new_name)
print Copied, old_name, as, new_name
break
ii += 1
I always use the time-stamp – so its not possible, that the file exists already:
import os
import shutil
import datetime
now = str(datetime.datetime.now())[:19]
now = now.replace(:,_)
src_dir=C:\Users\Asus\Desktop\Versand Verwaltung\Versand.xlsx
dst_dir=C:\Users\Asus\Desktop\Versand Verwaltung\Versand_+str(now)+.xlsx
shutil.copy(src_dir,dst_dir)
Python copy files to a new directory and rename if file name already exists
For me shutil.copy is the best:
import shutil
#make a copy of the invoice to work with
src=invoice.pdf
dst=copied_invoice.pdf
shutil.copy(src,dst)
You can change the path of the files as you want.