2

入力したファイル名のリストを反復処理する関数を作成し、条件が満たされたときに、後続の各ファイルを「INPUT」という名前のファイルにコピーしたいと考えています。

これが私がこれまでに持っているものです:

file_list = [file1, file2, file3]
def queue():
    if condition1_met:
        for item in file_list:
            os.system('cp item INPUT')
        else:
            return queue()

ただし、そのos.systemビットは「アイテム」を認識しないため、反復してファイルをコピーするのが最善の方法であることがわかりません。

4

2 に答える 2

1

以下を置き換える必要があります。

os.system('cp item INPUT')

に:

os.system('cp %s INPUT' % item)

そのため、項目反復子の値が文字列に代入され、OS 呼び出しとして実行されます。

コメントに従って編集:

shutil を使用することをお勧めします。

shutil.copyfile(item, 'INPUT')

この方法では、置換は必要ありません。

于 2013-07-23T14:41:42.073 に答える