본문 바로가기

210818수 - datetime 관련 정리 자주 쓰는 datetime 관련 코드 정리. gitgist 주소: https://gist.github.com/ymmu/fdf24bdd68b2dcdfd2199a04b3b94b51 datetime → str*str p time 임 from datetime import datetime date_time_obj = datetime.strptime('2021-08-18 14:10:03+0900', '%Y-%m-%d %H:%M:%S%z') print(date_time_obj) # 2021-08-18 14:10:03+09:00 str → datetime*str f time 임 from datetime import datetime print(date_time_obj.strftime("%Y-%m-%dT%H:%M:%S%z..
210812목 - python json 파일에 write할 때 글자 깨짐 문제 문제 기록된 json파일에 제대로 된 글자가 나오지 않는다. 한글이 \u20ac 같은 유니코드로 찍혀나옴. 해결 File을 open할 때도 encoding=’utf-8’처리를 해주고, json.dump 처리할 때도 ensure_ascii=False 처리해준다. with open("example.json","w", encoding='utf-8') as jsonfile: json.dump(data,jsonfile,ensure_ascii=False) 참조 https://stackoverflow.com/questions/16291358/python-saving-json-files-as-utf-8 https://stackoverflow.com/questions/18337407/saving-utf-8-texts-w..
210805목 - python-docx 하이퍼링크 얻어내기 문제 파이썬으로 docx 문서를 paragraph.text로 가져오는데 이 아이가 하이퍼링크를 못 가져오네..? 그래서 어떻게 가져오는지 찾아보았다. docx가 xml 문서였구나.. xml 알못.. 해결 문서에서 문단으로 접근해서 text 가져오기와 문단에서 hyper링크 추출하기. 스택오버플로우 답변을 참조해서 xml을 먼저 출력해본다음 가져옴. 지금 프로젝트 코드에서 추출. 참조해서 내 문서의 문단 xml을 출력하고 하이퍼링크가 들어간 문단부분의 xml을 살펴봄. doc = docx.Document(text_[0]) for docpara in doc.paragraphs: # 문단 xml 출력해줌 print(docpara._p.xml) # 문단 안에 하이퍼링크 출력 print(docpara._p.xpa..
210805목 - 파이썬 문자열 처리 관련 함수들 자동배포봇 프로젝트를 진행하면서 문자열처리를 해야하는 경우가 많았는데 정리해본다. 정규표현식(re) 1. re.sub(pattern="정규식", repl="치환문자", string="문자열", count=숫자) 문자열에서 정규식으로 선택된 부분을 count개 만큼 문자열 앞에서 부터 치환문자로 바꿔준다. count의 default=1 line = "제목: 푸딩테스트" title = re.sub(" *제목 *:*", "", line) # 정규식으로 제목 들어간 부분을 삭제 line = "제목: 푸딩테스트 제목 제목" print(re.sub(" *제목 *:*", "", line, count=2)) # 앞에서부터 발견되는 문자열 2개만 치환. # 결과: 푸딩테스트제목 #여러 라인 처리 lines = """\ ..
210805목 - 셀레니움에서 file upload dialog box 다루는 방법 문제 보통 셀레니움으로 file upload를 할 때 input을 찾아서 send_keys로 경로를 전달한다. 하지만 직접적으로 file input을 못 찾을 경우는 이 방법으로는 불가능해서 다른 방법들이 있는지 찾게 되었다. 나 같은 경우 어떤 페이지에서 button input을 누르면 fileupload dialog가 뜨게 해 두고 file input은 찾을 수가 없었다. button을 클릭하고 send_keys()를 통해 파일 경로를 보내면 다이얼로그에 파일 경로를 전달을 안 하고 button element에 send_keys의 입력값을 전달하는 듯했다. 기본 조작 input="file"시에 보통 사용하는 방법이다. (나는 주로 xpath를 사용한다.) driver.find_element_by_xp..
210805목 - unicode string을 pyautogui에서 사용하기 문제 한글이 삽입된 문자열을 pyautogui.write()에 넣었을 때 한글부분이 지워져서 출력된다. 해결 알파벳이 아닌 다른 언어를 입력하려면 write에 직접적으로 string을 전달하지 않고 pyperclip으로 클립보드에 문자열을 저장한 다음에 pyautogui.hotkey()를 통해 붙여넣기 하면 해결된다. import pyautogui import pyperclip pyperclip.copy("C:\\Users\\myohy\\OneDrive\\비타민B12\\15.jpg") pyautogui.hotkey("ctrl", "v") 참고: 스택오버플로우
210723금 - Python byte 변환 , encoding , Binary file 정리 블록체인관련 코드를 들여다보다가 바이트, 인코딩에 대해 좀 정리를 할 필요성을 느껴서 적게 되었다. 좀 어수선하지만 .. 관련 정보들이어서 묶어서 정리했다. 인코딩 정리: - 세계 언어를 코드로 표기(유니코드) -> 이 코드를 컴퓨터가 이해할 수 있는 숫자로 변환(인코딩) - 인코딩 종류는 ASCII, UTF-8 등 다양. 유니코드(Unicode) 세계 언어를 모두 표시할 수 있는 표준코드. 유니코드는 글자와 코드가 1:1매핑되어 있는 ‘코드표' (코드표) Ref: - https://jeongdowon.medium.com/unicode%EC%99%80-utf-8-%EA%B0%84%EB%8B%A8%ED%9E%88-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0-b6aa3f7edf96 인코..