"Bell, Kevin" wrote: > I'm having trouble with something that seems like it should be simple. > > I need to copy a file, say "abc-1.tif" to another directory, but if it's > in there already, I need to transfer it named "abc-2.tif" but I'm going > about it all wrong. > > Here's what doesn't work: (I'll add the copy stuff from shutil after > figuring out the basic string manipulation.)
define "doesn't work". > import os > > source = r"C:\Source" > target = r"P:\Target" > > files = os.listdir(source) > > for f in files: > if os.path.isfile(target + "\\" + f): # if it already exists > print f + " exists" > s = f # i'd like a copy to > alter > s = s.replace("-1", "-2") > print "Altered it to be " + s > print source + "\\" + s, target + "\\" + s did you mean print source + "\\" + f, target + "\\" + s ? > else: > print f + " IS NOT THERE YET" > print source + "\\" + f, target + "\\" + f # use the original > > -- > http://mail.python.org/mailman/listinfo/python-list btw, note that source + "\\" + f is better written as os.path.join(source, f) e.g. for f in os.listdir(source): sourcefile = os.path.join(source, f) targetfile = os.path.join(target, f) if os.path.isfile(targetfile): targetfile = os.path.join(target, f.replace("-1", "-2")) print "copy", sourcefile, "to", targetfile shutil.copy(sourcefile, targetfile) </F> -- http://mail.python.org/mailman/listinfo/python-list