6
私はPythonとEnvoyを使用しています。私はディレクトリ内のすべてのファイルを削除する必要があります。いくつかのファイルとは別に、ディレクトリは空です。ターミナルでは、これは次のようになります。しかしenvoyでrm *(ワイルドカード)を使用:そのようなファイルやディレクトリはありません
r = envoy.run('rm /tmp/my_silly_directory/*')
:
rm /tmp/my_silly_directory/*
常識は特使に、これはに変換することを指示
r.std_err -> "rm: cannot remove `/tmp/my_silly_directory/*': No such file or directory"
は、当然のことながら、この中に特使を使用する選択肢があります私は、なぜそれがうまくいかないのか不思議です。
手がかりはありますか?
これは完全に正しいと思われ、おそらくサブプロセスで動作します。しかし、特使の中では何らかの理由で 'envoy.run([" "sh"、 "-c"、 "rm/tmp/my_silly_directory/*"]))という唯一の呼び出しがあります。これは単純な 'サブプロセス 'のためである); –
は、これをサブプロセスで動作させることができませんでした。元の質問と同じエラー。 – Nate
@Nate:['shutil.rmtree( '/ tmp/my_silly_directory /')'](http://stackoverflow.com/questions/9106350/how-to-use-wildcards-with-envoy?lq=1#comment15551439_9109127 ) – jfs