컴퓨터/Python

생활코딩26~27강

풍경소리^^ 2019. 1. 27. 16:08

==========26.문법-모듈

----------mathModule.py

def aver(a,b,c):
    s=a+b+c
    r=s/3
    return r

def plus(a,b):
    return a+b

pi=3.14

----------module.py

import mathModule

print(mathModule.aver(1,2,3))
print(mathModule.plus(1,2))
print(mathModule.pi)

----------

from math import aver, plus, pi
print(aver(1,2,3))
print(plus(1,2))
print(pi)

==========27.활용-리팩토링

----------index.py

import cgi, os, view

# def getList():
#     files=os.listdir('data')
#     #print(files)
#     listStr=''
#     for item in files:
#         listStr=listStr+'<li><a href="index.py?id={name}">{name}</a></li>'.format(name=item)
#     #print(listStr)
#     return listStr

----------view.py

import os

def getList():
    files=os.listdir('data')
    #print(files)
    listStr=''
    for item in files:
        listStr=listStr+'<li><a href="index.py?id={name}">{name}</a></li>'.format(name=item)
    #print(listStr)
    return listStr

----------index.py

'''.format(
    title=pageId, desc=description,listStr=view.getList(),
    update_link=update_link,delete_action=delete_action))#query string

----------코드정리index.py

#!python
print("Content-Type: text/html\n")
import cgi, os, view

# def getList():
#     files=os.listdir('data')
#     #print(files)
#     listStr=''
#     for item in files:
#         listStr=listStr+'<li><a href="index.py?id={name}">{name}</a></li>'.format(name=item)
#     #print(listStr)
#     return listStr

form = cgi.FieldStorage()
if 'id' in form:
    pageId=form["id"].value
    description=open('data/'+pageId,'r').read()
else:
    pageId='Welcome'
    description='Hello, WEB'
print('''
<!doctype html>
<html>
<head>
    <title>WEB1 - Welcome</title>
    <meta charset="utf-8">
</head>
<body>
    <h1><a href="index.py">WEB</a></h1>
    <ol>
        {listStr}
    </ol>
    <a href="create.py">creat</a>
    <form action="process_update.py" method="post">
        <input type="hidden" name="pageId" value="{form_default_title}">
        <p><input type="text" name="title" placeholder="title" value="{form_default_title}"></p>
        <p><textarea rows="4" name="description" placeholder="description">{form_default_description}</textarea></p>
        <p><input type="submit"</p>
    </form>
</body>
</html>
'''.format(title=pageId, desc=description,listStr=view.getList(),form_default_title=pageId,form_default_description=description))#query string
----------코드정리create.py

#!python
print("Content-Type: text/html\n")
import cgi, os, view

# def getList():
#     files=os.listdir('data')
#     #print(files)
#     listStr=''
#     for item in files:
#         listStr=listStr+'<li><a href="index.py?id={name}">{name}</a></li>'.format(name=item)
#     #print(listStr)
#     return listStr

form = cgi.FieldStorage()
if 'id' in form:
    pageId=form["id"].value
    description=open('data/'+pageId,'r').read()
else:
    pageId='Welcome'
    description='Hello, WEB'
print('''
<!doctype html>
<html>
<head>
    <title>WEB1 - Welcome</title>
    <meta charset="utf-8">
</head>
<body>
    <h1><a href="index.py">WEB</a></h1>
    <ol>
        {listStr}
    </ol>
    <form action="process_create.py" method="post">
        <a href="create.py">creat</a>
        <p><input type="text" name="title" placeholder="title"></p>
        <p><textarea rows="4" name="description" placeholder="description"></textarea></p>
        <p><input type="submit"</p>
    </form>
</body>
</html>
'''.format(title=pageId, desc=description,listStr=view.getList()))#query string
----------코드정리update.py

#!python
print("Content-Type: text/html\n")
import cgi, os, view

# def getList():
#     files=os.listdir('data')
#     #print(files)
#     listStr=''
#     for item in files:
#         listStr=listStr+'<li><a href="index.py?id={name}">{name}</a></li>'.format(name=item)
#     #print(listStr)
#     return listStr

form = cgi.FieldStorage()
if 'id' in form:
    pageId=form["id"].value
    description=open('data/'+pageId,'r').read()
else:
    pageId='Welcome'
    description='Hello, WEB'
print('''
<!doctype html>
<html>
<head>
    <title>WEB1 - Welcome</title>
    <meta charset="utf-8">
</head>
<body>
    <h1><a href="index.py">WEB</a></h1>
    <ol>
        {listStr}
    </ol>
    <a href="create.py">creat</a>
    <form action="process_update.py" method="post">
        <input type="hidden" name="pageId" value="{form_default_title}">
        <p><input type="text" name="title" placeholder="title" value="{form_default_title}"></p>
        <p><textarea rows="4" name="description" placeholder="description">{form_default_description}</textarea></p>
        <p><input type="submit"</p>
    </form>
</body>
</html>
'''.format(title=pageId, desc=description,listStr=view.getList(),form_default_title=pageId,form_default_description=description))#query string
----------코드정리view.py

import os
def getList():
    files=os.listdir('data')
    #print(files)
    listStr=''
    for item in files:
        listStr=listStr+'<li><a href="index.py?id={name}">{name}</a></li>'.format(name=item)
    #print(listStr)
    return listStr
----------코드정리process_create.py

#!python
#print("Content-Type: text/html\n")
import cgi, os
form = cgi.FieldStorage()
title=form["title"].value
description=form["description"].value

#print(title,description)
opened_file=open('data/'+title,'w')
opened_file.write(description)
opened_file.close()#이거 안하면 permition error남
#Redirection
print("Location: index.py?id="+title+"\n")

----------코드정리process_update.py

#!python

import cgi, os
form = cgi.FieldStorage()
pageId=form["pageId"].value
title=form["title"].value
description=form["description"].value

#print(title,description)
opened_file=open('data/'+pageId,'w')
opened_file.write(description)
opened_file.close()#이거 안하면 permition error남
os.rename('data/'+pageId,'data/'+title)

#Redirection
print("Location: index.py?id="+title+"\n")

----------코드정리process_delete.py

#!python
#print("Content-Type: text/html\n")
import cgi, os
form = cgi.FieldStorage()
pageId=form["pageId"].value

os.remove('data/'+pageId)

#Redirection
print("Location: index.py\n")