私は単一のファイルを削除する方法を知っていますが、私の実装では1つのタイプのディレクトリ内のすべてのファイルを削除する方法が分かりません。Windows上のPythonでファイルを削除する
ディレクトリは、私が他のものにすべての.configファイルをされているファイルは、何もを削除したい\ myfolderなど
であると言います。 どうすればいいですか?
おかげで親切に
私は単一のファイルを削除する方法を知っていますが、私の実装では1つのタイプのディレクトリ内のすべてのファイルを削除する方法が分かりません。Windows上のPythonでファイルを削除する
ディレクトリは、私が他のものにすべての.configファイルをされているファイルは、何もを削除したい\ myfolderなど
であると言います。 どうすればいいですか?
おかげで親切に
私は、次のような何かをするだろう:
import os
files = os.listdir("myfolder")
for f in files:
if not os.path.isdir(f) and ".config" in f:
os.remove(f)
それは、ディレクトリ内のファイルを一覧表示し、それがディレクトリとファイル名でなければどこにでもその中に「.configファイルを」持っています消して。 myfolderと同じディレクトリにあるか、ディレクトリのフルパスを指定する必要があります。これを再帰的に行う必要がある場合は、os.walk functionを使用します。
glob
モジュールを使用します。
import os
from glob import glob
for f in glob ('myfolder/*.config'):
os.unlink (f)
+1:うん、globは正しいアプローチです(もちろん、サブディレクトリを歩きたくない場合はos.walkが必要です)。 –
屋に行く:
import os
# Return all files in dir, and all its subdirectories, ending in pattern
def gen_files(dir, pattern):
for dirname, subdirs, files in os.walk(dir):
for f in files:
if f.endswith(pattern):
yield os.path.join(dirname, f)
# Remove all files in the current dir matching *.config
for f in gen_files('.', '.config'):
os.remove(f)
注意もstr.endswith
タプル
を受け入れるため、
gen_files
が簡単に、パターンのタプルを受け入れるように書き換えることができることを.configファイルをすべて削除したいのですか? – Triptychはい! 固定 そのことについて申し訳ありません –
特定のパスのすべての.configファイルを削除しますか? .configファイルを削除したいだけなら、os.remove( ".config")を実行することができます –