0

我想复制一个目录中的文件等于该目录中其他文件的次数,然后重命名所有新文件。

例如,一个目录中有 3 个文件,filename1.xls、filename2.xls 和 filename3.xls。我想复制 Filename1.xls 2 次(因为目录中有 2 个文件不包括 filename1.xls ),然后将每个复制的文件重命名为 filename2.xls 和 filename3.xls。希望我的问题很清楚。谢谢,广告

4

2 回答 2

0

嗯......只需获取目录中的文件数量,将文件复制N次并将它们保存为

for number in range(amount):
    "feliname%r.xls" % number

如果我明白你的意思

于 2013-01-23T13:31:05.037 回答
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

注意:如果复制失败;目标文件可能被破坏。在这种情况下,您可以先复制到临时文件,然后再替换目标。

于 2013-01-23T14:46:37.400 回答