파이썬에서 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 - 디지털 아트 보존 프로젝트

파이썬에서 xml 파일 읽기

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


파이썬에서 xml 파일을 읽어서 내용을 조회할 수 있습니다. 기본으로 제공되는 xml 모듈을 활용합니다.

예를 들어 아래와 같은 내용의 test.xml 파일이 있다고 생각해 보겠습니다.

<?xml version="1.0"?>
<data>
  <student name="Bob">
    <math score="95"></math>
    <physics score="90"></physics>
  </student>
  <student name="Alice">
    <math score="91"></math>
    <physics score="97"></physics>
  </student>
</data>

이 파일의 데이터를 읽으려면 아래와 같이 할 수 있습니다. ElementTree의 parse() 함수를 이용해서 파일을 읽은 후, getgoot() 함수를 이용해서 트리의 루트를 가져옵니다.

import xml.etree.ElementTree as ET

test_tree = ET.parse('test.xml')
root = test_tree.getroot()

# 루트 태그 출력
print(test_root.tag)

data

이제 data 태그 하위에 있는 student 태그와 속성(attribute)를 조회할 수 있습니다. 첫번째 원소는 root[0], 두번째 원서는 root[1]이 됩니다. 속성은 딕션너리(dict) 형식입니다.

# 루트 하위 첫번째 원소의 태그와 속성(attribute) 확인
print(root[0].tag)
print(root[0].attrib)

student
{'name':'Bob'}

이제 첫번째 학생인 Bob의 물리학(physics) 점수를 보려면 root[0][1] 원소를 조회하면 되겠습니다. 점수는 root[0][1].attrib에 문자열 형태로 저장되어 있습니다.

print(root[0][1].tag)
print(root[0][1].attrib)

physics
{"score": "90"}

당연히 for 반복문도 활용할 수 있겠습니다. 학생 이름을 모두 출력하려면 아래와 같이 할 수 있습니다.

for item in root:
  print(item.attrib['name'])

Bob
Alice


@joviansummer의 스팀 프로젝트

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

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

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

jsup 수혜자 지정 기능 추가

jsup 서비스에 큐레이션 보상 분배 기능이 추가되었습니다.

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

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


Posted through the AVLE Dapp (https://avle.io)

Comments

Popular posts from this blog

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

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

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