단어찾기 비교


import json
from difflib import get_close_matches

Dictionary 타입 json으로 사용

data = json.load(open("word_data.json"))

# input으로 단어입력받아서
# data안의 단어 항목 찾기
# 비슷하면 정확도가 높은 단어 선택
get_close_matches(input_word, data.keys())[0]

get_close_matches(word, possibilities, n=3, cutoff=0.6)
    word         : 기준단어
    possibilities : 기준단어에 부합되는 항목들
    n=3          :  possibilities 중 3개선정 (default=3)
    cutoff       :  선정기준 정확도 (1=동일한 단어, default=0.6)
                     만족하는 항목 없을경우 [] 리턴
    가장 정확도가 높은항목이 제일 앞에 옴

기타 셋 변환
data.upper()
data.lower()
data.title()



* 자동으로 찾아주는건 좋은데
  Database 쓰지 않으면 너무 느리고 비효율적이다....

Python dates & times

>>> import datetime
>>> datetime.datetime.now()
datetime.datetime(2019, 3, 3, 15, 7, 30, 931160)
>>> now = datetime.datetime.now()
>>> now
datetime.datetime(2019, 3, 3, 15, 8, 5, 66884)
>>> yesterday = datetime.datetime(2019,3,2,15,0,0,0)
>>> yesterday
datetime.datetime(2019, 3, 2, 15, 0)
>>> now-yesterday
datetime.timedelta(1, 485, 66884)
>>> delta = now-yesterday
>>> delta
datetime.timedelta(1, 485, 66884)
>>> datetime.timedelta(1, 485, 66884)
datetime.timedelta(1, 485, 66884)
>>> delta.days
1
>>> delta.total_seconds()
86885.066884
>>> after = now+datetime.timedelta(days=2)
>>> after
datetime.datetime(2019, 3, 5, 15, 8, 5, 66884)
>>> yesterday
datetime.datetime(2019, 3, 2, 15, 0)
>>> now
datetime.datetime(2019, 3, 3, 15, 8, 5, 66884)
>>> after = now+datetime.timedelta(seconds=10002)
>>> after
datetime.datetime(2019, 3, 3, 17, 54, 47, 66884)
>>> import time
>>> lst = []
>>> for i in range(5):
...     lst.append(datetime.datetime.now())
...     time.sleep(1)
...
>>> lst
[datetime.datetime(2019, 3, 3, 15, 24, 41, 101860), datetime.datetime(2019, 3, 3, 15, 24, 42, 102824), datetime.datetime(2019, 3, 3, 15, 24, 43, 103479), datetime.datetime(2019, 3, 3, 15, 24, 44, 104411), datetime.datetime(2019, 3, 3, 15, 24, 45, 104583)]
>>> for i in lst:
...     print(i)
...
2019-03-03 15:24:41.101860
2019-03-03 15:24:42.102824
2019-03-03 15:24:43.103479
2019-03-03 15:24:44.104411
2019-03-03 15:24:45.104583
>>>

Python Document - strftime(format)

Reference


Format

DirectiveMeaningExampleNotes
%aWeekday as locale's abbreviated name.
Sun, Mon, ..., Sat (en_US);
So, Mo, ..., Sa (de_DE)
(1)
%AWeekday as locale's full name.
Sunday, Monday, ..., Saturday (en_US);
Sonntag, Montag, ..., Samstag (de_DE)
(1)
%wWeekday as a decimal number, where 0 is Sunday and 6 is Saturday.0, 1, ..., 6 
%dDay of the month as a zero-padded decimal number.01, 02, ..., 31 
%bMonth as locale's abbreviated name.
Jan, Feb, ..., Dec (en_US);
Jan, Feb, ..., Dez (de_DE)
(1)
%BMonth as locale's full name.
January, February, ..., December (en_US);
Januar, Februar, ..., Dezember (de_DE)
(1)
%mMonth as a zero-padded decimal number.01, 02, ..., 12 
%yYear without century as a zero-padded decimal number.00, 01, ..., 99 
%YYear with century as a decimal number.0001, 0002, ..., 2013, 2014, ..., 9998, 9999(2)
%HHour (24-hour clock) as a zero-padded decimal number.00, 01, ..., 23 
%IHour (12-hour clock) as a zero-padded decimal number.01, 02, ..., 12 
%pLocale's equivalent of either AM or PM.
AM, PM (en_US);
am, pm (de_DE)
(1), (3)
%MMinute as a zero-padded decimal number.00, 01, ..., 59 
%SSecond as a zero-padded decimal number.00, 01, ..., 59(4)
%fMicrosecond as a decimal number, zero-padded on the left.000000, 000001, ..., 999999(5)
%zUTC offset in the form ±HHMM[SS[.ffffff]] (empty string if the object is naive).(empty), +0000, -0400, +1030, +063415, -030712.345216(6)
%ZTime zone name (empty string if the object is naive).(empty), UTC, EST, CST 
%jDay of the year as a zero-padded decimal number.001, 002, ..., 366 
%UWeek number of the year (Sunday as the first day of the week) as a zero padded decimal number. All days in a new year preceding the first Sunday are considered to be in week 0.00, 01, ..., 53(7)
%WWeek number of the year (Monday as the first day of the week) as a decimal number. All days in a new year preceding the first Monday are considered to be in week 0.00, 01, ..., 53(7)
%cLocale's appropriate date and time representation.
Tue Aug 16 21:30:00 1988 (en_US);
Di 16 Aug 21:30:00 1988 (de_DE)
(1)
%xLocale's appropriate date representation.
08/16/88 (None);
08/16/1988 (en_US);
16.08.1988 (de_DE)
(1)
%XLocale's appropriate time representation.
21:30:00 (en_US);
21:30:00 (de_DE)
(1)
%%A literal '%' character.% 
Several additional directives not required by the C89 standard are included for convenience. These parameters all correspond to ISO 8601 date values. These may not be available on all platforms when used with the strftime() method. The ISO 8601 year and ISO 8601 week directives are not interchangeable with the year and week number directives above. Calling strptime() with incomplete or ambiguous ISO 8601 directives will raise a ValueError.
DirectiveMeaningExampleNotes
%GISO 8601 year with century representing the year that contains the greater part of the ISO week (%V).0001, 0002, ..., 2013, 2014, ..., 9998, 9999(8)
%uISO 8601 weekday as a decimal number where 1 is Monday.1, 2, ..., 7 
%VISO 8601 week as a decimal number with Monday as the first day of the week. Week 01 is the week containing Jan 4.01, 02, ..., 53(8)
버전 3.6에 추가: %G%u and %V were added.

Python doc string

filename = file_function1.py


"""
This script creates an empty files. <- doc string
"""

filename="sample1.txt"

#Create empty file
def create_file():
    """This function creates an empty file"""
    with open(filename,"w") as file:
        file.write("")  #Write empty string



PS
>>> import file_function1
>>> file_function1.__doc__
'\nThis script creates an empty files. <- doc string\n'