__name__
이__main__
인 경우는 조금 특별한 경우로 모듈이 다른 코드로 부터 import 되어 사용되는 상황이 아니라
바로 실행되는 경우에 가지게 되는 값이
즉 본인이 구현한 코드가 다른 파이썬 코드에 의해서 모듈로 import 될 경우도 있을 수 있고,
파이썬 인터프리터에 의해서 직접 실행될 경우도 있을 수 있는데, 위 코드는 인터프리터에 의해서
직접 실행될 경우에만 실행하도록 하고 싶은 코드 블럭이 있는 경우에 사용
from datetime import date
from datetime import time
def calc_date(yy, mm, dd):
# date Create
c_date = date(yy, mm, dd)
return c_date
def calc_time(hr, mi, sc):
#time Create
c_time = time(hr, mi, sc)
return c_time
def main():
#date
yy = 2020
mm = 5
dd = 23
#time
hr = 22
mi = 50
sc = 57
#Date 계산
rDate = calc_date(yy, mm, dd)
print('rDate-> {}'.format(rDate))
print('rDate.month-> {}'.format(rDate.month))
print('rDate.day-> {}'.format(rDate.day))
print('rDate.year-> {}'.format(rDate.year))
# time 계산
rTime = calc_time(hr, mi, sc)
print('rTime-> {}'.format(rTime))
print('rTime.hour-> {}'.format(rTime.hour))
print('rTime.minute-> {}'.format(rTime.minute))
print('rTime.second-> {}'.format(rTime.second))
if __name__ == '__main__':
main()
datetime.date와 datetime.time을 합치기 위해서는 datetime.datetime.combine을 이용
날짜만을 관리하기 위해서는 datetime.date, 시간만을 관리하기 위해서는 datetime.time
from datetime import date
했기때문에 date.
으로 사용하였다.import datetime
만 했기때문에 datetime.date
로 뽑아야한다.
import datetime
d = datetime.date(2022, 12, 12)
t = datetime.time(12, 13, 18)
dt = datetime.datetime.combine(d,t)
print(dt)
날짜나 시간을 변경하기 위해서는 replace 메서드를 사용
import datetime
myDatetime = datetime.datetime.strptime('2022-11-11 12:21:52', '%Y-%m-%d %H:%M:%S')
print(myDatetime)
reDatetime = myDatetime.replace(month=12)
reDatetime = reDatetime.replace(day=12)
reDatetime = reDatetime.replace(year=2022)
print(myDatetime)
print(reDatetime)
날짜를 보기 좋은 포맷팅
from datetime import datetime
def main():
theDateTime = datetime(2022, 6, 25, 13, 15, 8)
#날짜를 보기 좋은 포맷팅
print('theDateTime2 -> {}'.format(theDateTime.strftime('%Y/%m/%d %H:%M:%S')))
print('theDateTime3 -> {}'.format((theDateTime.strftime('%I/%M %p'))))
if __name__=='__main__':
main()
datetime에 하루(1day)를 더하고 싶다면
datetime.timedelta
를 이용
- 1주 datetime.timedelta(weeks=1)
- 1일 datetime.timedelta(days=1)
- 1시간 datetime.timedelta(hours=1)
- 1분 datetime.timedelta(minutes=1)
- 1초 datetime.timedelta(seconds=1)
- 1밀리초 datetime.timedelta(milliseconds=1)
- 1마이크로초 datetime.timedelta(microseconds=1)
now = datetime.datetime.now()
print('now->', now)
# 그냥 시간 설정할때
setDate = datetime.timedelta(hours=5, minutes=30)
print('setDate->', setDate)
tomorrow = now + datetime.timedelta(days=1)
print('tomorrow->', tomorrow)
# 1주 더하기
weekAppend = now + datetime.timedelta(weeks=1)
print('weekAppend->', weekAppend)
# 1주 빼기
weekBefore = now + datetime.timedelta(weeks=-1)
print('weekBefore->', weekBefore)
import datetime
now = datetime.datetime.now()
print(now)
# 날짜을 문자열로 출력하려면 strftime 메서드를 사용
nowDate = now.strftime('%Y-%m-%d')
print('nowDate-->', nowDate)
# 시간을 문자열로 출력하려면 strftime 메서드를 사용
nowTime = now.strftime('%H:%M:%S')
print('nowTime-->', nowTime)
nowDatetime = now.strftime('%Y-%m-%d %H:%M:%S')
print('nowDatetime-->', nowDatetime)
import cx_Oracle
: 오라클 importFile - Settings 들어가기
Project: - Python Interpreter 클릭 후 +
클릭
cx-Oracle
검색 후 Install
🔺 화면에서 import 할 때엔 import cx_Oracle
였으나 검색시엔 cx-Oracle
로 해야한다.
오류난 코드! 나중에 확인해봐야겠다.
import cx_Oracle
dsn = cx_Oracle.makedsn("localhost", 1521, "xe")
con = cx_Oracle.connect("scott", "tiger", dsn)
cursor = con.cursor()
vdeptno = input('부서번호 입력 : ')
vdname = input('부서명 입력 : ')
vloc = input('위치입력 : ')
cursor.execute("insert into dept values(:deptno, :dname, :loc)",
deptno=vdeptno, dname=vdname, loc=vloc)
con.commit()
con.close()
import cx_Oracle
dsn = cx_Oracle.makedsn("localhost", 1521, "xe")
con = cx_Oracle.connect("scott", "tiger", dsn)
cursor = con.cursor()
cursor.execute("""SELECT * FROM dept""")
# row = cursor.fetchone()
allDeptRow = cursor.fetchall()
print(allDeptRow)
for deptRow in allDeptRow:
print('deptRow->', deptRow)
for deptCol in deptRow:
print(deptCol)
con.close()
import cx_Oracle
dsn = cx_Oracle.makedsn("localhost", 1521, "xe")
con = cx_Oracle.connect("scott", "tiger", dsn)
cursor = con.cursor()
cursor.execute("""SELECT * FROM dept""")
for deptno, dname, loc in cursor:
print("dept->", deptno, dname, loc)
print("{'deptno':'%s', 'dname':'%s', 'loc':'%s'}" %(deptno, dname, loc))
con.close()
import cx_Oracle
dsn = cx_Oracle.makedsn("localhost", 1521, "xe")
con = cx_Oracle.connect("scott", "tiger", dsn)
cursor = con.cursor()
vdeptno = input('부서번호 입력: ')
cursor.execute("""delete from dept where deptno = :deptno""", deptno=vdeptno)
print('cursor.rowcount->', cursor.rowcount)
con.commit()
con.close()