私のルートディレクトリls
が次の出力を与えると考えてください:
1 2 3 4 a b c d
いくつかのファイルといくつかのディレクトリ。一部を除いてすべて削除したいです。できます :
out = subprocess.check_output(['['find', '.', '-maxdepth', '1', '!', '-iname', 'a', '!' '-iname', 'b', '!' '-iname', 'c', '!' , '-iname', 'd', '-exec', 'rm', '-rf', '{}' , '+'])
しかし、コマンドを非常に長くして読みにくいものにする代わりに、リスト内のディレクトリとファイルを削除しないようにall を指定したいと思います。つまり、次のようになります。
goodfilesList = ['a', 'b','c', 'd']
out = subprocess.check_output(['find', '.', '-maxdepth', '1', '!', '-iname'] + goodfilesList)