2017-03-21 5 views
0

削除したいパス名でローカルファイルのリストを作成するスクリプトがあります。私の問題の本質は、以下のコードです。ファイルパス名のリストを反復処理してそれぞれを削除するにはどうすればいいですか?

これらのファイルを削除するのではなく移動する方が簡単な場合は、これがオプションです。私はそれが削除を得ることができる前にディレクトリを設定するオプションかもしれないが見てきましたが、私はパスを読んでそれらを処理するより効率的な機能を期待しています。

リストに格納されているファイルパス名を区別する機能は必要ありません。私はリストに格納された各ファイルをOUTにします。今よう

コードは、エラーを与える:

TypeError: remove: illegal type for path parameter 

コード:

import os 

files = ['/users/computer/site/delete/photo1.jpg', '/users/computer/site/delete/photo3.jpg'] 

os.remove(files) 

答えて

1

os.remove()引数はなく、パスのリストのような単一のパスを取ります。

for f in files: 
    os.remove(f) 
0

まずはos.remove(LIST CALLEDファイル)を呼び出しています。

ファイルを繰り返し処理し、個々のファイルごとにos.removeを呼び出す必要があります。

for file in files: 
     os.remove(file) 
0

リストを一度に削除することはできません。すべてのファイルを繰り返し処理し、それぞれを削除する必要があります。 リストからファイルを削除するためのコードが -

import os 

files = ['/users/computer/site/delete/photo1.jpg', '/users/computer/site/delete/photo3.jpg'] 
for f in files: 
    os.remove(f) 
0

あなたは、リストの内包表記を使用することができ

[os.remove(f) for f in ['/users/computer/site/delete/photo1.jpg', '/users/computer/site/delete/photo3.jpg']] 
関連する問題