0

ディレクトリにあるファイルを、そのディレクトリにある他のファイルと同じ回数コピーしてから、すべての新しいファイルの名前を変更したいと思います。

たとえば、ディレクトリ内に filename1.xls、filename2.xls、および filename3.xls という 3 つのファイルがあるとします。Filename1.xls を 2 回コピーし (filename1.xls を除くディレクトリに 2 つのファイルがあるため)、コピーした各ファイルの名前を filename2.xls および fiilename3.xls に変更します。私の質問が明確であることを願っています。ありがとう、AD

4

2 に答える 2

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 に答える
0

うーん...ディレクトリ内のファイルの量を取得し、ファイルをN回コピーして、次のように保存します

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

あなたの言いたいことが理解できれば

于 2013-01-23T13:31:05.037 に答える