我想复制一个目录中的文件等于该目录中其他文件的次数,然后重命名所有新文件。
例如,一个目录中有 3 个文件,filename1.xls、filename2.xls 和 filename3.xls。我想复制 Filename1.xls 2 次(因为目录中有 2 个文件不包括 filename1.xls ),然后将每个复制的文件重命名为 filename2.xls 和 filename3.xls。希望我的问题很清楚。谢谢,广告
我想复制一个目录中的文件等于该目录中其他文件的次数,然后重命名所有新文件。
例如,一个目录中有 3 个文件,filename1.xls、filename2.xls 和 filename3.xls。我想复制 Filename1.xls 2 次(因为目录中有 2 个文件不包括 filename1.xls ),然后将每个复制的文件重命名为 filename2.xls 和 filename3.xls。希望我的问题很清楚。谢谢,广告
嗯......只需获取目录中的文件数量,将文件复制N次并将它们保存为
for number in range(amount):
"feliname%r.xls" % number
如果我明白你的意思
要将名称以 开头且"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
注意:如果复制失败;目标文件可能被破坏。在这种情况下,您可以先复制到临时文件,然后再替换目标。