python文件操作
如果目标文件夹中的文件已经存在,如何复制该文件?较新的文件应重命名为类似filename.x.ext的文件 例如,如果我试图复制python文件操作,python,Python,如果目标文件夹中的文件已经存在,如何复制该文件?较新的文件应重命名为类似filename.x.ext的文件 例如,如果我试图复制newfile.jpg,但它已经存在于文件夹中,则应将其复制为newfile.1.jpg。如果newfile.1.jpg也已存在,则新文件应命名为newfile.2.jpg,依此类推 def copytree(src, dst, symlinks=False, ignore=None): for item in os.listdir(src):
newfile.jpg
,但它已经存在于文件夹中,则应将其复制为newfile.1.jpg
。如果newfile.1.jpg
也已存在,则新文件应命名为newfile.2.jpg
,依此类推
def copytree(src, dst, symlinks=False, ignore=None):
for item in os.listdir(src):
s = os.path.join(src, item)
d = os.path.join(dst, item)
if os.path.isdir(s):
print "copying"
shutil.copytree(s, d, symlinks, ignore=None)
else:
shutil.copy2(s, d)
def main ():
#path to input
src="/home/user/abcd"
#here path to output
dst="/home/user/dirtest"
copytree(src,dst)
if __name__ == '__main__':
main()
我想那会管用的
那就称它为
def getUniqueName(destPath):
d = destPath[:]
count = 0
while os.path.exists(d):
count += 1
parts = os.path.splitext(d)
d = "%s.%s%s"%(parts[0],count,parts[1])
return d
当你做shutil.copytree时不会有帮助首先,你明白那代码在做什么吗?@Makoto是的,我不理解d=“%s.%s.%(部分[0],计数,部分[1])除非d=“%s.%d.%s%%(部分[0],计数,部分[1])
%s.%d.%s
部分包含[/some/path/to/base\u文件名],.ext(因此它包括原始异常中的点)
shutil.copy2(s, getUniqueName(d))