我想复制一个位于目录中的文件,该文件等于该目录中其他文件的次数,然后重命名所有新文件。
例如,目录中有3个文件,filename1.xls,filename2.xls和filename3.xls。我想复制Filename1.xls 2次(因为目录中有2个文件,不包括filename1.xls),然后将每个复制的文件重命名为filename2.xls和fiilename3.xls。希望我的问题很明确。谢谢,AD
答案 0 :(得分:0)
hm ...只需获取目录中的文件数量,将文件复制N次并将其保存为
for number in range(amount):
"feliname%r.xls" % number
如果我理解你的意思
答案 1 :(得分:0)
替换名称以"F"
开头并且与命令行中给出的文件相邻的所有文件的内容及其副本:
#!/usr/bin/env python
import os
import shutil
import sys
filename = sys.argv[1] # provide file you want to multiply
dirname, basename = os.path.split(filename)
for name in os.listdir(dirname):
path = os.path.join(dirname, name)
#note: os.path.normcase() might be required to compare names
if name.startswith("F") and name != basename and os.path.isfile(path):
shutil.copy2(filename, path) #note: some metadata is not copied
注意:如果复制失败;目标文件可能会被销毁。在更换目标之前,您可以先复制到临时文件。