2016-04-07 19 views
2

まず、Pythonとプログラミング一般には初めてです。Windows上のPython:IOError:[Errno 2]そのようなファイルやディレクトリがありません

現在、私は、ブラックリストの行に従ってランダムな名前、拡張子、内容のファイルをすべて削除するスクリプトを作成しようとしています(ファイルの内容を検索する必要があります)。ここで

コードです:

import os 

black_list = [line for line in open("C:/path/to/blacklist.txt")] 

for filename in os.listdir("C:/path/to/files/"): 
    content = open(filename).read() 
    if any(line in content for line in black_list): 
     os.remove(filename) 

私はこのエラーを取得しています:

IOError: [Errno 2] No such file or directory: 'first_file_from_the_folder'

あなたは私を助けてくださいもらえますか?

ありがとうございます!

答えて

4

os.listdirは、完全なパスではなくファイル名を返します。

PATH = "C:/path/to/files/" 
for filename in os.listdir(PATH): 
    content = open(os.path.join(PATH, filename)).read() 

ここでは、パスとファイル名をマージするためにos.path.joinが使用されています。

+0

ありがとうございました! –

1

ファイルを削除する場合は、ファイルのパス全体を渡す必要があります。

import os 

black_list = [line for line in open("C:/path/to/blacklist.txt")] 
path = "C:/path/to/files/" 
for filename in os.listdir(path): 
    content = open(path+ filename).read() 
    if any(line in content for line in black_list): 
     os.remove(path + filename) 
+0

ありがとうございました! –

関連する問題