0

フォルダー内のファイルを削除したいのですが、エラーが発生しました。

私のコード

for f in glob ('sub/*.sub'):
     subprocess.call(["php", "AES.class.php" , f])
     shutil.rmtree(f)
     #deplacement des fichier
     for d in glob ('*.ass'):
          shutil.move(d, 'sync')

次のエラーが表示されます。

Traceback (most recent call last):
  File "start.py", line 26, in <module>
    shutil.rmtree(f)
  File "/usr/lib64/python2.7/shutil.py", line 239, in rmtree
    onerror(os.listdir, path, sys.exc_info())
  File "/usr/lib64/python2.7/shutil.py", line 237, in rmtree
    names = os.listdir(path)
OSError: [Errno 20] Not a directory: 'sub/Ep01.sub'

フォルダ内の拡張子.subを持つファイルを削除するには?

4

2 に答える 2

3

os.removeよりも欲しいshutil.rmtree。具体的には、前者の方法はファイルを削除するためのものであり、後者はディレクトリを (そのすべての内容とともに) 削除するように設計されています。

for f in glob ('sub/*.sub'):
     subprocess.call(["php", "AES.class.php" , f])
     os.remove(f)
     #deplacement des fichier
     for d in glob ('*.ass'):
          shutil.move(d, 'sync')
于 2015-04-24T18:47:20.073 に答える