2019.03.15

모든 파이썬 프로그래머를 위한 20가지 실용적인 파이썬 라이브러리

Serdar Yegulalp | InfoWorld

파이인스톨러(PyInstaller)

파이인스톨러의 기능 : 파이썬 스크립트를 독립 실행 파일로 패키징한다.

파이인스톨러를 사용하는 이유 : 파이썬에 관한 흔한 불만 사항 중 하나는 다른 사용자에게 스크립트를 배포하기가 필요 이상으로 어렵다는 점이다. 파이인스톨러는 파이썬 스크립트(넘파이와 같은 바이너리부터 복잡한 서드파티 모듈을 포함하는 스크립트까지)를 패키징해서 단일 폴더 또는 단일 파일 애플리케이션으로 배포할 수 있게 해준다. 파이인스톨러는 이 폴더나 파일에 실제 필요한 항목 이상을 넣는 경향이 있으므로 최종 결과물이 비대해질 수 있다. 그러나 이 경향은 연습을 통해 극복할 수 있으며, 뛰어난 편의성을 제공한다는 사실은 부정할 수 없다.
 

파이심플GUI(PySimpleGUI)

파이심플GUI의 기능 : 성가신 작업을 최소화하면서 파이썬으로 GUI를 만든다.

파이심플GUI를 사용하는 이유 : 파이썬에는 GUI를 만들기 위한 Tkinter 라이브러리가 포함되지만, Tkinter는 사용하기가 쉽지 않다. 파이심플GUI는 훨씬 더 간소한 API로 Tkinter를 래핑한다. 간단한 대화상자나 팝업 메뉴와 같은 일반적인 효과의 상당수를 코드 한 줄로 만들 수 있다. 다만 인터페이스는 여전히 전형적인 Tkinter 형태다. 더 세련된 모양과 느낌을 원한다면 다른 툴을 선택하는 편이 좋다.
 

파이썬-docx

파이썬-docx의 기능 : 마이크로소프트 워드 .docx 파일을 프로그램을 통해 조작한다.

파이썬-docx를 사용하는 이유 : 이론적으로는 XML 스타일의 마이크로소프트 워드 문서는 손쉽게 만들고 업데이트할 수 있어야 한다. 그러나 현실에서는 결코 간단하지 않다. .docx 형식 내부의 온갖 복잡성 때문이다. 파이썬-docx는 .docx 파일을 다루기 위한 고수준 API를 제공함으로써 모든 복잡성을 피해갈 수 있게 해준다.

파이썬-docx로 텍스트, 이미지, 표, 스타일, 문서 섹션, 머리글 및 바닥글을 추가하거나 변경할 수 있다. 라이브러리를 사용하면 새 문서를 만들거나 기존 문서를 변경할 수 있다. 파이썬-docx는 워드 파일에서 원시 텍스트를 끌어오거나 워드 자체의 내장된 자동화 기능을 피하고자 하는 경우 유용하다.
 

스크래피(Scrapy)

스크래피의 기능 : 화면 스크랩과 웹 크롤링

스크래피를 사용하는 이유 : 스크래피를 사용하면 스크래핑을 간단히 할 수 있다. 스크랩하려는 항목을 정의하는 클래스를 만들고 페이지에서 데이터를 추출하기 위한 몇 가지 규칙을 쓰면 된다. 결과는 JSON, XML, CSV 또는 다른 다양한 형식으로 내보낼 수 있다. 수집된 데이터는 그대로 저장하거나 가져오면서 불필요한 부분을 제거하고 저장할 수 있다.

스크래피는 확장을 통해 웹사이트 로그인, 세션 쿠키 처리와 같은 다른 작업도 처리할 수 있다. 이미지도 스크랩해서 캡처된 콘텐츠와 연결할 수 있다. 최신 버전에는 스크랩한 데이터 저장을 위한 클라우드 서비스 직접 연결, 재사용 가능한 프록시 연결 기능이 추가됐으며, 난해한 HTML 및 HTTP 동작 처리 부분이 개선됐다.
 

Sh

Sh의 기능 : 하위 프로세스에서 외부 프로그램을 호출하고 결과를 파이썬 프로그램에 반환한다. 이때 해당 프로그램을 네이티브 파이썬 함수처럼 취급하며 동일한 구문을 사용한다.

Sh를 사용하는 이유 : Sh는 모든 POSIX 준수 시스템에서 유용하다. 해당 시스템에서 사용 가능한 모든 명령줄 프로그램을 파이썬 형식으로 사용할 수 있게 해준다. 불필요한 중복 작업에서 벗어날 수 있을 뿐만 아니라(OS에 있는데 굳이 ping을 실행할 이유가 없음) 더 이상 이 기능을 애플리케이션에 매끄럽게 추가하기 위한 작업에 골몰할 필요도 없다. 단, Sh는 전달되는 매개변수에 대한 무결 처리(sanitization)를 제공하지 않으므로 원시 사용자 입력을 그대로 전달하지 말아야 한다.
 

스플린터(Splinter)

스플린터의 기능 : 브라우저 작업을 자동화해서 웹 애플리케이션을 테스트한다.

스플린터가 필요한 이유 : 웹 애플리케이션 테스트를 자동화하는 작업은 절대 재미있지 않다. 스플린터는 브라우저를 호출하고 URL을 전달하고 양식을 채우고 버튼을 클릭하는 등 저수준의 성가신 작업을 없애고 전체 프로세스를 자동화한다.

크롬 및 파이어폭스를 사용한 작업을 위한 드라이버를 제공하며, 셀레늄 리모트(Selenium Remote)를 사용해서 다른 곳에서 실행되는 브라우저를 제어할 수 있다. 대상 브라우저에서 수동으로 자바스크립트를 실행할 수도 있다.  editor@itworld.co.kr


2019.03.15

모든 파이썬 프로그래머를 위한 20가지 실용적인 파이썬 라이브러리

Serdar Yegulalp | InfoWorld

파이인스톨러(PyInstaller)

파이인스톨러의 기능 : 파이썬 스크립트를 독립 실행 파일로 패키징한다.

파이인스톨러를 사용하는 이유 : 파이썬에 관한 흔한 불만 사항 중 하나는 다른 사용자에게 스크립트를 배포하기가 필요 이상으로 어렵다는 점이다. 파이인스톨러는 파이썬 스크립트(넘파이와 같은 바이너리부터 복잡한 서드파티 모듈을 포함하는 스크립트까지)를 패키징해서 단일 폴더 또는 단일 파일 애플리케이션으로 배포할 수 있게 해준다. 파이인스톨러는 이 폴더나 파일에 실제 필요한 항목 이상을 넣는 경향이 있으므로 최종 결과물이 비대해질 수 있다. 그러나 이 경향은 연습을 통해 극복할 수 있으며, 뛰어난 편의성을 제공한다는 사실은 부정할 수 없다.
 

파이심플GUI(PySimpleGUI)

파이심플GUI의 기능 : 성가신 작업을 최소화하면서 파이썬으로 GUI를 만든다.

파이심플GUI를 사용하는 이유 : 파이썬에는 GUI를 만들기 위한 Tkinter 라이브러리가 포함되지만, Tkinter는 사용하기가 쉽지 않다. 파이심플GUI는 훨씬 더 간소한 API로 Tkinter를 래핑한다. 간단한 대화상자나 팝업 메뉴와 같은 일반적인 효과의 상당수를 코드 한 줄로 만들 수 있다. 다만 인터페이스는 여전히 전형적인 Tkinter 형태다. 더 세련된 모양과 느낌을 원한다면 다른 툴을 선택하는 편이 좋다.
 

파이썬-docx

파이썬-docx의 기능 : 마이크로소프트 워드 .docx 파일을 프로그램을 통해 조작한다.

파이썬-docx를 사용하는 이유 : 이론적으로는 XML 스타일의 마이크로소프트 워드 문서는 손쉽게 만들고 업데이트할 수 있어야 한다. 그러나 현실에서는 결코 간단하지 않다. .docx 형식 내부의 온갖 복잡성 때문이다. 파이썬-docx는 .docx 파일을 다루기 위한 고수준 API를 제공함으로써 모든 복잡성을 피해갈 수 있게 해준다.

파이썬-docx로 텍스트, 이미지, 표, 스타일, 문서 섹션, 머리글 및 바닥글을 추가하거나 변경할 수 있다. 라이브러리를 사용하면 새 문서를 만들거나 기존 문서를 변경할 수 있다. 파이썬-docx는 워드 파일에서 원시 텍스트를 끌어오거나 워드 자체의 내장된 자동화 기능을 피하고자 하는 경우 유용하다.
 

스크래피(Scrapy)

스크래피의 기능 : 화면 스크랩과 웹 크롤링

스크래피를 사용하는 이유 : 스크래피를 사용하면 스크래핑을 간단히 할 수 있다. 스크랩하려는 항목을 정의하는 클래스를 만들고 페이지에서 데이터를 추출하기 위한 몇 가지 규칙을 쓰면 된다. 결과는 JSON, XML, CSV 또는 다른 다양한 형식으로 내보낼 수 있다. 수집된 데이터는 그대로 저장하거나 가져오면서 불필요한 부분을 제거하고 저장할 수 있다.

스크래피는 확장을 통해 웹사이트 로그인, 세션 쿠키 처리와 같은 다른 작업도 처리할 수 있다. 이미지도 스크랩해서 캡처된 콘텐츠와 연결할 수 있다. 최신 버전에는 스크랩한 데이터 저장을 위한 클라우드 서비스 직접 연결, 재사용 가능한 프록시 연결 기능이 추가됐으며, 난해한 HTML 및 HTTP 동작 처리 부분이 개선됐다.
 

Sh

Sh의 기능 : 하위 프로세스에서 외부 프로그램을 호출하고 결과를 파이썬 프로그램에 반환한다. 이때 해당 프로그램을 네이티브 파이썬 함수처럼 취급하며 동일한 구문을 사용한다.

Sh를 사용하는 이유 : Sh는 모든 POSIX 준수 시스템에서 유용하다. 해당 시스템에서 사용 가능한 모든 명령줄 프로그램을 파이썬 형식으로 사용할 수 있게 해준다. 불필요한 중복 작업에서 벗어날 수 있을 뿐만 아니라(OS에 있는데 굳이 ping을 실행할 이유가 없음) 더 이상 이 기능을 애플리케이션에 매끄럽게 추가하기 위한 작업에 골몰할 필요도 없다. 단, Sh는 전달되는 매개변수에 대한 무결 처리(sanitization)를 제공하지 않으므로 원시 사용자 입력을 그대로 전달하지 말아야 한다.
 

스플린터(Splinter)

스플린터의 기능 : 브라우저 작업을 자동화해서 웹 애플리케이션을 테스트한다.

스플린터가 필요한 이유 : 웹 애플리케이션 테스트를 자동화하는 작업은 절대 재미있지 않다. 스플린터는 브라우저를 호출하고 URL을 전달하고 양식을 채우고 버튼을 클릭하는 등 저수준의 성가신 작업을 없애고 전체 프로세스를 자동화한다.

크롬 및 파이어폭스를 사용한 작업을 위한 드라이버를 제공하며, 셀레늄 리모트(Selenium Remote)를 사용해서 다른 곳에서 실행되는 브라우저를 제어할 수 있다. 대상 브라우저에서 수동으로 자바스크립트를 실행할 수도 있다.  editor@itworld.co.kr


X