2016-12-20 16 views
1

フォルダ内の一部のアーカイブを削除しようとしています。ここで特定の内線番号のファイルを削除できません。

が、私はそれを行うために書かれたものです:私は、モジュールを実行すると

import sys 
import os 
from os import listdir 
from os.path import join 

dir_path = os.path.dirname(os.path.realpath(__file__)) 

for file in dir_path: 
    if (file.endswith(".gz")) or (file.endswith(".bz2")): 
     os.remove(join((dir_path), file)) 
     print("Removed file.") 

print("Done.") 

、それだけで「完了。」印刷しますモジュールと同じディレクトリにその拡張子を持つファイルがあっても、ファイルは削除されません。

私が間違っていることを理解できない、助けてください?

答えて

4

あなたはforループでos.listdir(dir_path)を逃したように見えます。

1

これが働いているようだ:

import sys 
import os 
from os import listdir 
from os.path import join 

dirdir = "/Users/kosay.jabre/Desktop/Programming/Password List" 
dir_path = os.listdir(dirdir) 

for file in dir_path: 
    if (file.endswith(".gz")) or (file.endswith(".bz2")): 
     os.remove(file) 

print("Done.") 
+1

'dirdir'は' dir_path'、 'dir_path'は' files'でなければなりません。あなたの変数に適切な名前をつけて、より理に適ってください。 – MYGz