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()