2021년 10월 2일 토요일

python remove folder/make folder (폴더 삭제하기/만들기)


폴더 삭제는 내부에 파일이 있는경우 삭제 되지 않습니다. 그래서 재귀적으로 삭제해야 하는데 아래 함수를 이용하면 한번에 삭제가 가능합니다.

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: []




댓글 없음:

댓글 쓰기