프로그래밍/Python
Python - 현재 시간을 파일이름(파일명)으로 사용하기(datetime)
꿈꾸는 사람_Anthony
2021. 1. 27. 16:39
반응형
파이썬에는 datetime모듈이 존재한다.
이 모됼을 통해, 날짜관련 많은 작업을 할 수 있다.
그 중,
from datetime import datetime
datetime.now()
위 코드를 통해 현 시간을 알 수 있다.
하지만, colon(:) 때문에 이를 파일의 이름으로는 사용할 수 없다.
이 문자들을 대체하고, 원하는 만큼의 정보를 얻을 수 있는 함수를 제작하였다.
from datetime import datetime
def getTime(slice_='second', char='-'):
r"""
인자 설명
slice_ : 어디까지 표현할 것인지(day, hour, minute, second, all)
(기본(미 설정시) : second)
char : 구분 문자 설정, 사용불가 문자 :(\ / : * ? " < > |)
(기본(미 설정시) : -)
"""
if char in ['\\', '/', ':', '*', '?', '"', '<', '>', '|']:
raise ValueError("char must not be in ['\\', '/', ':', '*', '?', '\"', '<', '>', '|']")
time = str(datetime.now())
if slice_ == 'day':
time = time[:time.index(' ')]
elif slice_ == 'hour':
time = time[:time.index(':')]
elif slice_ == 'minute':
index_ = time.index(':')
index_ += time[index_+1:].index(':') + 1
time = time[:index_]
elif slice_ == 'second':
time = time[:time.index('.')]
elif slice_ == 'all':
pass
else :
raise ValueError("slice_ must be in ['day', 'hour', 'minute', 'second', 'all']")
time = time.replace(':', '-')
if char != '-':
time = time.replace('-', char)
return time
올바른 사용 예시
잘못된 사용예시
반응형