파이썬에서 datetime.timezone()을 이용한 시간대 설정

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/datetime-timezone 파이썬에서 datetime.timezone()을 이용해서 datetime 객체의 시간대를 설정할 수 있습니다. 예를 들어 한국시간(KST)은 GMT+9시간이므로 아래와 같이 설정해서 현재 시각을 구할 수 있습니다. import datetime KST = datetime.timezone(datetime.timedelta(hours=9)) now_kst = datetime.datetime.now(tz=KST) 시간대 정보가 없는 datetime 객체의 경우에는 앞의 예제 코드에서 정의된 변수 KST를 이용해서 아래와 같이 시간대를 할당할 수 있습니다. # 시간대 정보 없는 UTC 기준 현재시각 가져오기 - utcnow() now = datetime.datetime.utcnow() # 시간대 정보 추가 now_kst = now.astimezone(KST) @joviansummer의 스팀 프로젝트 스팀 증인노드를 운영중입니다. @jswit에 증인투표해 주시면 감사하겠습니다. ( https://steemitwallet.com/~witnesses ) jswit 증인 노드 프로젝트를 시작합니다. jsup 업보팅(upvoting) 서비스 소개 jsup 수혜자 지정 기능 추가 jsup 2.0 - 업보팅을 다시 위대하게 jSTEEM 프로젝트 - 텔레그램 챗봇으로 구현하는 스팀 블럭체인 탐색기 Steemit-Search - 스팀잇 포스팅 검색 STEEM.NFT - 디지털 아트 보존 프로젝트

파이썬에서 설정 파일 처리(configparser)

by joviansummer
original STEEMIT post: https://steemit.com/blog/@joviansummer/configparser


파이썬에서 configparser 모듈을 이용해서 설정 파일 처리를 편리하게 할 수 있습니다. 설정 파일 형식은 아래의 예시처럼 섹션(section)으로 나누어지고 항목에 설정값을 할당하는 형태가 됩니다. 예를 들어 test.cfg 파일이 아래와 같다고 해 보겠습니다.

[section1]
sec1_cfg1 = abc
sec1_cfg2 = 123

[section2]
sec2_cfg1 = xyz

2개의 섹션이 있고 각 섹션마다 설정 값들이 지정된 상태입니다. configparser를 이용해서 이 파일을 읽으면 설정을 딕셔너리(dict)와 동일한 방식으로 처리할 수 있습니다. ConfigParser 객체를 사용하면 되며, 파일 읽기는 read() 함수를 이용합니다.

import configparser

config_file = 'test.cfg'

# 설정 파일 읽기
cfg = configparser.ConfigParser()
cfg.read(config_file)

# section1의 sec1_cfg1 설정값 출력
print(cfg['section1']['sec1_cfg1'])

abc

설정 파일에서 읽은 값은 문자열(str)로 저장되므로, 설정값을 수자로 사용하려면 변환해 주어야 합니다. 예를 들어 위의 예시에서 section1의 sec_cfg2 항목의 값이 123인데, 정수 계산에 사용하려면 형식을 바꿔주어야 하겠죠.

sec1_cfg2_int = int(cfg['section1']['sec1_cfg2'])

설정 파일을 변경한 후에 저장하고 싶다면 write() 함수를 이용합니다. 예를 들어 section1의 sec1_cfg2 항목 설정값을 456으로 설정한 후에 저장하려면 아래와 같이 할 수 있겠습니다.

cfg['section1']['sec1_cfg2'] = '456'
# 설정 파일 저장
f = open(config_file, 'w')
cfg.write(f)
f.close()

만약 설정 파일이 없는데 처음부터 새로 만들고 싶다면 아래와 같이 할 수 있겠습니다.

new_config_file = 'new_test.cfg'

new_cfg = configparer.ConfigParser()

new_cfg['section1'] = {}
new_cfg['section1']['sec1_cfg1'] = 'abc'
new_cfg['section1']['sec1_cfg2'] = '123'

new_cfg['section2'] = {}
new_cfg['section2']['sec2_cfg1'] = 'xyz'

f = open(new_config_file, 'w')
new_cfg.write(f)
f.close()

@joviansummer의 스팀 프로젝트

스팀 증인노드를 운영중입니다. @jswit에 증인투표해 주시면 감사하겠습니다.
(https://steemitwallet.com/~witnesses)

jswit 증인 노드 프로젝트를 시작합니다.

jsup 업보팅(upvoting) 서비스 소개

jsup 수혜자 지정 기능 추가

jSTEEM 프로젝트 - 텔레그램 챗봇으로 구현하는 스팀 블럭체인 탐색기

STEEM.NFT - 디지털 아트 보존 프로젝트

Comments

Popular posts from this blog

Nuitka - 파이썬 스크립트를 바이너리 실행 파일로 변환

파이썬에서 스팀잇 ID 및 포스팅 키 유효성 확인

파이썬에서 시간대(timezone) 변경