from datetime import datetime AA.objects.create(my_date=datetime.now())장고는 날짜에 Timezone을 추가해서 사용한다. timezone을 함께 넣어주던가
사용하지 않는다고 명시하던가 해야한다.
from django.utils import timezone AA.objects.create(my_date=timezone.now())
from datetime import datetime AA.objects.create(my_date=datetime.now())장고는 날짜에 Timezone을 추가해서 사용한다. timezone을 함께 넣어주던가
from django.utils import timezone AA.objects.create(my_date=timezone.now())
python manage.py makemigrations --empty <앱이름>이렇게 하면 makemigrations의 빈 통이 보인다. 다른건 보지말고 얘만 보자.
... operations = [ ]이 안에다가 무슨일을 한 건지 적어준다.
operations = [
  migrations.RenameModel(
    old_name='Pattern',
    new_name='MessagePattern',
    ),
]
이후 Model명을 바꾸고 사용하고 있는 다른 파일들 모델명을 전부 바꾼다.import os os.removedirs(some_path)하지만 디렉터리 안에 파일이 있다면 삭제되지 않는다. 그럴땐
import shutil shutil.rmtree(some_path)이렇게 삭제하자
def postfix_eval(expr):
    operand_stack = []
    token_list = postfix_expr.split()
    for token in token_list:
        if token in '0123456789':
            operand_stack.append(int(token))
        else:
            operand2 = operand_stack.pop()
            operand1 = operand_stack.pop()
            result = do_math(token, operand1, operand2)
            operand_stack.append(result)
    return operand_stack.pop()
def do_math(op, op1, op2):
    if op == "*":
        return op1 * op2
    elif op == "/":
        return op1 / op2
    elif op == '+':
        return op1 + op2
    else:
        return op1 - op2
 
실행
print(postfix_eval('7 8 + 3 2 + /'))
여기서 주목할 것은 do_math 
def post_math(op, op1, op2):
    return eval(op1 + op + op2)
테스트를 해보자.
post_math('+', '1', '2')
3
문자열을 그대로 맘대로 합쳐서 그 문자열 자체를 평가#!/bin/python3 import sys from math import factorial n = int(input().strip()) print(factorial(n))
def readFile(filename):
  with open(filename) as file:
    return [ x.strip('\n').replace(' ','') for x in file.readlines()]
list_ = readFile('1991.txt')
def my_tree(r):
    return [r, [], []]
root = None
def add(data, left, right):
    global root
    if root is None:
        if data != '.':
            root = my_tree(data)
        if left != '.':
            root[1] = my_tree(left)
        if right != '.':
            root[2] = my_tree(right)
        return root
    else:
        return search(root, data, left, right)
def search(root, data, left, right):
    if root is None or root == []:
        return root
    elif root[0] == data:
        if left != '.':
            root[1] = my_tree(left)
        if right != '.':
            root[2] = my_tree(right)
        return root
    else:
        search(root[1], data, left, right)
        search(root[2], data, left, right)
for l_ in list_[1:]:
    add(l_[0],l_[1],l_[2])
def preorder(root):
    if root:
        print(root[0], end='')
        if root[1]:
            preorder(root[1])
        if root[2]:
            preorder(root[2])
def inorder(root):
    if root:
        if root[1]:
            inorder(root[1])
        print(root[0], end='')
        if root[2]:
            inorder(root[2])
def postorder(root):
    if root:
        if root[1]:
            postorder(root[1])
        if root[2]:
            postorder(root[2])
        print(root[0], end='')
preorder(root) print() inorder(root) print() postorder(root) print()