ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 파일 삭제하기
    Python 2018. 11. 17. 22:58

    파일 삭제하기

    지금까지 파일을 생성 및 수정을 해봤으니 이번엔 삭제를 해보자.




     생성 폼 수정하기

    파일 삭제는 따로 삭제 폼은 필요하지 않다.

    생성 폼에서 표현해주는 파일 리스트들에 삭제버튼을 추가해서 표현해주고 삭제버튼을 클릭하면 삭제 프로세스를 수행하는 시스템으로 만들 것이다.


    생성 폼을 다음과 같이 수정한다.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    #!python
    import cgi, os
     
     
    #가져올 파일 목록의 경로
    path_dir = 'filefolder/'
    #경로에 존재하는 파일 목록 가져오기
    file_list = os.listdir(path_dir)
    #파일 이름 순서대로 정렬하기
    file_list.sort()
     
    file_list_link = ''
    for item in file_list:
        file_list_link += '''
            <p>
                <a href="update_form.py?id={item}">{item}</a>
                <form action="delete_file.py?id={item}" method="post">
                    <input type="submit" value="delete">
                </form>
            </p>
        '''.format(item=item)
     
    print("Content-Type: text/html; charset=utf-8\n")
    print()
    print('''
    <!DOCTYPE html>
    <html>
    <head>
    </head>
    <body>
    {file_list_link}
    <form action="create_file.py" method="POST">
        <p><input type="text" name="title" placeholder="title"></p>
        <p><textarea cols="22" row="5" name="content" placeholder="content"></textarea></p>    
        <p><input type="submit"></p>
    </form>
    </body>
    </html>
    '''.format(file_list_link=file_list_link))
    cs


    14 ~ 21번 줄 -

    기존에 한단락으로 처리했던 HTML태그를 여러 문장으로 묶어서 처리하도록 수정했다.

    기존에 작은 따옴표로 묶었던 부분을 작은 따옴표 3개로 묶어준다. (작은 따옴표를 3개로 묶게 되면 많은 문장을 하나로 묶어서 처리할 수가 있다.)


    <a></a>태그 뒤에 <form>태그를 생성해서 삭제 프로세스를 등록했다.

    파일 이름을 삭제 프로세스에 쿼리 스트링을 전달하여 파일 폴더에서 파일 이름으로 대상을 찾고 이름이 동일하면 삭제하는 시스템이다.




     삭제 프로세스 생성하기

    delete_file.py라는 이름으로 삭제 프로세스를 수행할 파일을 생성한다.



    파일을 열어서 아래의 코드를 작성한다.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    #!python
     
    import cgi, os
     
    form = cgi.FieldStorage()
    file_id = form["id"].value
     
    os.remove('filefolder/'+file_id)
     
    print("Location: create_form.py")
    print()
    cs


    3번 줄 -

    쿼리 스트링을 활용하기 위해 cgi 모듈을 import한다.

    그리고 파일을 조작하기 위해 os 모듈을 import한다.


    6번 줄 -

    쿼리 스트링으로 전달받은 파일 이름(ID)을 변수에 저장한다.


    8번 줄 -

    os 모듈에 존재하는 remove('file_path')함수를 통해 파일의 위치와 파일 명을 등록한다.

    이 구문으로 인해 시스템은 파일 폴더로부터 파일을 찾고 대상을 삭제하게 된다.




     실행

    프로그램을 만들었으니 제대로 동작하는지 확인해보자.


    생성 폼 페이지를 접속하면 파일 밑에 삭제 버튼이 묶어서 표현된다.

    삭제 테스트를 위해 새로운 파일을 생성해보자.



    새로운 파일을 생성하면 파일 명과 파일 삭제 버튼이 표현된다.

    삭제버튼을 클릭해보자.


    삭제버튼을 클릭하면 실제 파일이 제거되는 것을 확인할 수 있다.

    'Python' 카테고리의 다른 글

    모듈화  (0) 2018.11.18
    함수 생성하기  (0) 2018.11.17
    파일 수정하기  (0) 2018.11.16
    파일 목록 출력하기  (0) 2018.11.16
    파일 생성하기  (0) 2018.11.16
Designed by Tistory.