いつもお世話になっております。python3.6において以下のプログラムを書きました。
python
1#起動後にinput_json,output_json,textはけしておく(中身を空にするために) 2 output_json_dir = "{}/../output_json/".format(fig_path) 3 input_json_dir = "{}/../input_json/".format(fig_path) 4 text_dir = "{}/../text/".format(fig_path) 5 shutil.rmtree(output_json_dir) 6 shutil.rmtree(input_json_dir) 7 shutil.rmtree(text_dir)
このプログラムを書いた時点での予測動作としてはinput_json_dir,output_json_dir,text_dirディレクトリの中身が削除されるというものです。
しかし、実際に起動した時にはoutput_json_dirの中身しか消えてくれませんでした。パスのチェックもしたのですが、間違っていませんでした。
shutil.rmtree()関数はこのように連続して打つことができないのでしょうか?
ご回答よろしくお願いいたします。
エラー・例外は起こっていないのでしょうか?
パスを変えても状況は変わりませんか?単純にプログラムでカレントにディレクトリを作成し、その後当該コードで消してみるといったコードで確認することで連続で動作するか否かが明確になると思います。
phpからexec()関数で上記プラグラムが書かれているpyファイルを呼んでいるのですが、exec()関数の戻り値ではエラーの表示はありません。
> phpからexec()関数
$outputや、$return_var は?
おっしゃる通りで、 python内でrmtreeのエラーをprint()して、exec()の引数である$outputをprint_rで出力したのですが、エラーを確認することができませんでした。
あなたの回答
tips
プレビュー