-
파일 생성하기
웹 브라우저에서 사용자로부터 데이터를 입력받아 파일을 생성하는 작업을 해볼 것이다.
form 생성
다음과 같이 python 밑에 file폴더를 생성하고 그 안에 create_form.py를 생성한다.
그리고 create_form.py에 아래와 같이 간단한 입력 폼을 작성한다.
1234567891011121314151617#!pythonprint("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이름으로 파일을 추가한다.
그리고 아래의 소스를 작성하자.
1234567891011121314#!pythonimport cgiform = cgi.FieldStorage()title = form["title"].valuecontent = form["content"].valueopened_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