본문 바로가기

python/코드조각12

[python] 커맨드 출력 결과에서 ansi color code 만 제거 하는 방법 bash shell 커맨드 출력 결과에서 위와 같이 색상이 추가 되어 나오는 경우가 있습니다. 이런 경우 사용자가 보기에는 좋지만 이를 파싱해서 처리해야 하는 경우 보기가 힘듭니다. python 에서 정규식을 이용하여 색상 코드만 제거할 수 있습니다. 사용 방법은 다음과 같습니다. https://stackoverflow.com/questions/14693701/how-can-i-remove-the-ansi-escape-sequences-from-a-string-in-python How can I remove the ANSI escape sequences from a string in python Here is a snippet that includes my string. 'ls\r\n\x1b[00m\x1.. 2023. 8. 13.
[python][bs4] BeautifulSoup 사용 예제 beautifulsoup을 이용하여 HTML을 파싱하는 방법을 알아보겠습니다. bs4의 주요 객체 A B C Tag HTML Tag 객체 로 둘러쌓인 객체 NavigableString Tag 밖의 문자, 개행 문자 문자 B Comment 등 HTML 주석 BeautifulSoup HTML 문서 그 자체 예제 태그의 id, class 정보를 이용하여 찾는 방법 태그 애트리뷰트 정보를 이용하여 찾는 방법 Tag객체의 정보를 확인하는 방법 2019. 9. 27.
[python] [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed 오류 수정 파이썬의 urllib 라이브러리를 이용하여 개발하는 중 다음의 오류가 발생하였습니다. 파이썬3 부터는 PEP 476 규약에 따라 HTTPS 프로토콜을 이용하는 경우 인증서를 이용하여 유효성 체크를 하도록 되어 있는데, 로컬의 인증서를 가져오지 못하기 때문에 발생하는 현상입니다. [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate 인증서의 위치를 전달하 거나, PEP 476 문서에서 알려주는 방법처럼 인증서를 확인하는 절차를 무시하게 하면 됩니다. 수정한 쿼리는 다음과 같습니다. 2019. 6. 25.
[python] 파이썬을 이용한 프로그레스바 처리 파이썬에서 프로그레스바를 처리하는 방법은 문자를 출력하고, 캐리지 리턴(/r) 문자를 이용하여 출력 커서를 다시 첫번째 라인으로 옮겨서 다시 출력하게 하는 것입니다. * 이 소스는 터미널 환경에 따라서 개행이 될 수도 있습니다. 실제 환경에서 테스트를 해보시는 것이 좋습니다. 이클립스에서 실행하면 개행이 되고, 로컬 터미널에서 하면 개행이 되지 않습니다. 원본 소스코드는 다음 페이지에서 확인이 가능합니다. 추가적으로 tqdm 라이브러리를 이용하면 좀 더 편리하게 프로그레스바를 출력할 수 있습니다. https://stackoverflow.com/questions/3173320/text-progress-bar-in-the-console/34325723#34325723 Text Progress Bar in t.. 2019. 6. 17.
[python] 데코레이터를 이용하여 파라미터의 값을 제한 하는 예제 파이썬에서 파라미터로 전달받는 데이터의 값을 제한하기 위해서 데코레이터를 이용하는 방법은 다음과 같다. 파이썬3면 Enum을 이용하면 좀더 깔끔하게 처리할 수 있을 것 같다. 인스펙트를 이용하여 추가로 처리하는 예제는 다음과 같다. #!/usr/bin/env python # -*- coding: utf-8 -*- import inspect values = [ "a", "b", "c" ] def check_param_values(param_name, check_list): def wrapper(func): param_index = inspect.getargspec(func).args.index(param_name) def decorator(*args, **kwargs): if args[param_index.. 2018. 9. 7.
[python] 파이썬의 데코레이터(Decorator) 간단 예제 파이썬의 데코레이터는 함수를 실행하기 전과 후에 공통적으로 해야할 작업이 있을 경우 사용하면 도움이 된다. @을 이용하여 함수위에 선언해주면되고, 데코레이터는 함수, 클래스를 이용하여 선언할 수 있다. 다수의 데코레이터를 적용할 수도 있다. 간단한 예제는 다음과 같다. 실행결과는 다음과 같다. print_hello1시작 hello1 print_hello1종료 ------------------------------- 2018-07-26 15:18:16.128121 print_hello2시작 hello2 print_hello2종료 2018-07-26 15:18:16.128121 None ------------------------------- 2018-07-26 15:18:16.128121 hello3 20.. 2018. 9. 7.
[python] yyyymmdd 일자별 문자열 리스트 생성 방법 일자별로 생성된 데이터의 처리를 위해서 yyyymmdd 형태의 문자열 또는 datetime 객체를 생성하기 위한 코드 조각이다. 3개의 형식으로 1. 시작일자, 종료일자를 입력 받아서 해당 일자 사이의 yyyymmdd 리스트 반환2. 시작일자, 기간을 받아서 시작일자 - 기간의 일자 반환3. 시작일자, 기간을 받아서 시작일자 + 기간의 일자 반환 처리결과 : ['20180501', '20180502', '20180503', '20180504', '20180505', '20180506', '20180507', '20180508', '20180509', '20180510'] 2018. 5. 15.
[python/코드조각] 상속과 부모의 생성자 호출, 메소드 재정의 파이썬의 클래스는 상속이 가능하다. 상속하여 부모 클래스의 메소드를 재정의하는 것도 가능하다. 상속하는 방법과 부모 클래스의 생성자 호출은 다음과 같다. 추가로 파이썬 3.1 부터는 다음의 방법도 가능하다고 한다. 2018. 5. 10.
[python/코드조각] 파이썬 클래스의 __getattr__, __setattr__ 속성 활용 파이썬의 클래스는 애트리뷰트를 저장할 수 있는 특수 함수 __dict__ 를 가지고 있다. 이 속성에 클래스의 자체 애트리뷰트를 저장할 수 있다. 그리고 특수 함수 __getattr__, __setattr__ 를 이용하여 해당 값을 가지고 온다. 사용자가 클래스를 생성할 때 이 값들을 오버라이딩하여 재정의 할 수도 있다. https://docs.python.org/3/reference/datamodel.html https://ziwon.github.io/posts/python_magic_methods/ 2018. 5. 9.
[python/코드조각] open() 을 이용하여 파일 읽기 파이썬의 open() 함수와 with 구문을 이용하여 파일을 효율적으로 읽는 방법은 다음과 같다. 2018. 5. 9.
[python] 처리 시간의 평균 구하기 datetime을 이용하여 처리시간의 평균을 구하는 방밥은 다음과 같다. 처리시간을 초로 변환하여 모두 더하여 나누고, 이것을 다시 시간으로 변환하면 된다. 문자열을 datetime 객체로 변화할 때는 striptime() 메소드를 이용하면 된다. 2016. 10. 4.
[python] time, datetime, timedelta time, datetime, timedelta datetime – basic date and time types time : time access and conversions 파이선에서 날짜 관련 객체는 datetime, time 가 있다. 둘다 날짜를 처리하는 객체이지만 사용 가능한 메소드들을 확인해 보면 time은 지역화 설정 등의 메소드들을 제공하고, datetime 객체는 날짜, 시간을 조작하는 기능을 제공한다. 그리고 날짜간의 연산을 위해 timedelta 객체를 제공한다. 현재부터 하루전, 한시간후 등의 시간을 구하거나, 시작시간과 종료시간 사이에 걸린 시간 등을 구하는데 사용한다. 예제코드 #!/usr/bin/python # -*- coding: utf-8 -*- import time fro.. 2015. 6. 19.