폴더 삭제는 내부에 파일이 있는경우 삭제 되지 않습니다. 그래서 재귀적으로 삭제해야 하는데 아래 함수를 이용하면 한번에 삭제가 가능합니다.
shutil.rmtree()
만드는것은 os.makedirs()로 한번에 만들 수 있습니다. 아래 예제에서는 "temp/temp" 폴더를 한꺼번에 만들고 삭제하는 예제입니다.
import os import shutil def makefolder(folder_name): if folder_name!='' and not os.path.exists(folder_name): os.makedirs(folder_name) if __name__ == "__main__": shutil.rmtree("temp",ignore_errors=True) makefolder("temp/temp") print("current list:",os.listdir(".")) print("temp list:",os.listdir("temp")) print("temp/temp list:",os.listdir("temp/temp")) shutil.rmtree("temp",ignore_errors=True)
실행시키면 temp 폴더 안에 temp폴더가 더 있는것을 확인 할 수 있습니다.
시작과 끝에는 shutil.rmtree()함수를 이용하여 temp 폴더를 지우도록 구현하였습니다.
C:\Users\USER\example>python 14_make_folder.py current list: ['10_py_scripting_main.py', '10_py_scripting_script.py', '11_tail.py', '11_tail_line.py', '12_function_call.py', '13_get_files_count.py', '14_make_folder.py', '15_remove_oldest_file.py', '1_yield.py', '2_Figure_1.png', '2_Figure_2.png', '2_plt_scatter_color.py', '3_kmeans_random_1.png', '3_kmeans_random_1.py', '4_printstack.py', '4_printstack_log.py', '5_flask_simple_client.py', '5_flask_simple_server.py', '5_pwinauto_.py', '6_string_format.py', '7_dataframe_iloc_loc.py', '8_exit_code.py', '8_exit_code_with_sleep.py', '8_exit_example.bat', '8_exit_test.bat', '8_subprocess_timed.py', '9_mul_sub_txt_replace_1.py', '9_mul_sub_txt_replace_2.py', '9_mul_sub_txt_replace_test_in.txt', '9_mul_sub_txt_replace_test_out.txt', 'temp'] temp list: ['temp'] temp/temp list: []
댓글 없음:
댓글 쓰기