ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 파일 생성하기
    Python 2018. 11. 16. 08:47

    파일 생성하기

    웹 브라우저에서 사용자로부터 데이터를 입력받아 파일을 생성하는 작업을 해볼 것이다.





     form 생성

    다음과 같이 python 밑에 file폴더를 생성하고 그 안에 create_form.py를 생성한다.



    그리고 create_form.py에 아래와 같이 간단한 입력 폼을 작성한다.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    #!python
    print("Content-Type: text/html; charset=utf-8\n")
    print()
    print('''
    <!DOCTYPE html>
    <html>
    <head>
    </head>
    <body>
    <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>
    ''')
    cs


    10번 줄 - 

    form을 생성하고 action으로 create_file.py라는 페이지로 입력 데이터를 POST방식으로 전달할 것이다.


    11번 줄 - 

    사용자로부터 입력받을 파일명을 작성하는 태그이다.


    12번 줄 - 

    사용자로부터 입력받을 파일내용을 작성하는 태그이다.





     파일 생성하기

    입력 폼을 생성했으니 이제 입력받은 데이터를 처리하여 파일을 생성할 서버 페이지를 작성하자.

    create_file.py이름으로 파일을 추가한다.



    그리고 아래의 소스를 작성하자.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    #!python
    import cgi
     
    form = cgi.FieldStorage()
    title = form["title"].value
    content = form["content"].value
     
    opened_file = open('filefolder/'+title, 'w')
    opened_file.write(content)
    opened_file.close()
     
    #Location: 해당 페이지로 이동시키는 기능이다.
    print("Location: create_form.py")
    print()
    cs


    2번 줄 - 

    사용자로부터 입력받은 데이터를 쿼리스트링으로 전달받아 처리할 것이다.

    따라서 CGI 모듈을 import한다.


    4번 줄 - 

    cgi모듈의 FieldStorage()객체를 생성한다.


    5번 줄 - 

    사용자로부터 입력받은 파일 명을 변수에 저장한다.


    6번 줄 -

    사용자로부터 입력받은 내용을 변수에 저장한다.


    8번 줄 -

    open()함수를 통해 파일을 생성한다.


    9번 줄 -

    생성한 파일안에 사용자로부터 입력받은 내용을 작성한다.


    10번 줄 -

    파일에 대한 생성을 완료 후 IO를 닫아준다.


    13번 줄 - 

    파일을 생성하고 다시 form으로 이동시켜준다.

    "Location: "은 페이지를 이동시켜주는 기능이다.




     실행

    모두 작성을 완료했다면 한번 실행해보자.


    create_form.py로 이동하고 제목과 내용을 작성하고 제출버튼을 클릭해보자.



    제출이 완료되면 다시 create_form.py페이지로 이동된다.




    이후 filefolder 경로를 확인해보면 제출 시 적었던 title로 파일이 생성된 것을 확인할 수 있다.


    해당 파일을 열어보면 작성했던 content가 기록되어 있는 것을 알 수 있다.



    'Python' 카테고리의 다른 글

    파일 수정하기  (0) 2018.11.16
    파일 목록 출력하기  (0) 2018.11.16
    form을 이용하여 데이터 송수신하기  (0) 2018.11.16
    문법 - 반복문  (0) 2018.11.15
    문법 - Dictionary  (0) 2018.11.14
Designed by Tistory.