목록랭귀지/python (238)
아미(아름다운미소)
JSON-RPC2.0 및 JSON-RPC1.0 전송 사양 구현. Python 2.6+, Python 3.3+, PyPy를 지원합니다. Django와 Flask를 옵션으로 지원합니다. Install (pip로 간단하게 설치가 가능합니다.) pip install json-rpc Quickstart 이것은 JSON-RPC 표준에서 많은 경우가 있기 때문에 라이브러리의 필수 부분입니다. 선택적인 백엔드뿐만 아니라 다양한 지원되는 파이썬 버전을 관리하기 위해 json-rpc은 tox를 사용합니다 tox Server(uses Werkzeug) from werkzeug.wrappers import Request, Response from werkzeug.serving import run_simple from json..
컴퓨터에 아파치나 IIS를 깔기에는 부담이 될때 파이썬이 있으면 간단한 웹서버로 웹페이지들을 테스트할 수 있습니다. 콘솔로 가서 웹 서버의 루트로 하고자하는 디렉토리로 가서 다음과 같이 실행하면 됩니다. * 이는 순전히 http 서버만을 지원해주며 추가적인 웹 언어는 지원하지 않습니다. Python 2.x 버전python -m SimpleHTTPServer 8000 Python 3.x 버전 python -m http.server 8000 : 뒤의 8000은 포트 번호이다. 그럼 다음과 같이 웹서버가 실행됩니다. : localhost:8000 이나 127.0.0.1:8000으로 접속하면 웹 서버 처럼 파일 시스템에 접근이 가능합니다. 테스트용으로 로컬에서 간단하게 사용하면 편해요.
프로그램용으로 환경설정 파일을 저장하거나 열람할 수 있으면 편리합니다. import os.path print os.path.expanduser('~') 이 방법은 윈도우즈에서도 작동함 합니다. 멋지죠! (사용자의 "Document and settings" 폴더를 가리키거나, 또는 사용자가 가지고 있다면 네트워크 폴더를 가리키기도 합니다.)
Python에는 requests라는 유명한 http request 라이브러리가 있습니다. 설치하기(pip로 간단하게 설치가 가능합니다.) pip install requests Requests는 정말 좋은 라이브러리이지만, html을 ‘의미있는’, 즉 Python이 이해하는 객체 구조로 만들어주지는 못합니다. 위에서 req.text는 python의 문자열(str)객체를 반환할 뿐이기 때문에 정보를 추출하기가 어렵습니다. 따라서 BeautifulSoup을 이용해야 합니다. 이 BeautifulSoup은 html 코드를 Python이 이해하는 객체 구조로 변환하는 Parsing을 맡고 있고, 이 라이브러리를 이용해 우리는 제대로 된 ‘의미있는’ 정보를 추출해 낼 수 있습니다. 설치하기 BeautifulSoup..
나는 한 프로젝트에서 거대한 XLS 파일을 읽어야 했습니다.물론 COM 호출을 통하여 모든 셀 내용에 접근할 수 있지만, 너무 느린 단점이 있습니다. 간단한 트릭이 있어요: 그냥 엑셀에게 XLS 파일을 열어 그것을 CSV로 저장해 달라고 요구한 다음, 파이썬의 CSV 모듈을 사용하여 그 파일을 읽어 들이면 됩니다! 이 방법이 방대한 XLS 데이터 파일을 읽는 가장 빠른 방법입니다. import os import win32com.client filename = 'myfile.xls' filepath = os.path.abspath(filename) # 언제나 확실하게 절대 경로를 사용하자! # 엑셀을 시작하고 XLS 파일을 연다: excel = win32com.client.Dispatch('Excel.Ap..
# encoding: utf-8 import codecs from collections import deque import urllib2, urlparse import socket from BeautifulSoup import BeautifulSoup def get_links(uri, startswith=""): """Returns list of referenced URIs (without duplicates) found in the document returned for the input URI""" results = set() try: page = urllib2.urlopen(uri) soup = BeautifulSoup(page) for link in soup.findAll('a'): # try: ..
먼저 mysql-server, mysql-client 를 설치합니다. $ sudo apt-get install mysql-server mysql-client 설치 과정이 끝나면 설정 파일을 수정합니다. bind-address 부분을 찾아 주석처리합니다. (앞에 # 붙여주고 저장) $ sudo nano /etc/mysql/my.cnf ...... # bind-address = 127.0.0.1 ...... mysql 서비스를 재시작합니다. $ sudo service mysql restart 테스트용 DB 생성을 위해 mysql shell 에 접속합니다. root 유저로 접속합니다. $ mysql -u root -h localhost -p root 비밀번호 입력 후 쉘이 뜨면 테스트 DB 생성. mysql>..
HTTP 요청을 전송하면, html이나 이미지 또는 비디오 등등이 돌아온다.어떤 경우에는 받고 있는 데이터의 유형이 예상대로 인지 점검해야 한다. 받고 있는 문서의 유형을 점검하려면, MIME 유형을 보자 (Content-type) 헤더:urlfile = urllib2.urlopen('http://www.commentcamarche.net/') print "Document type is", urlfile.info().getheader("Content-Type","") 이는 다음과 같이 출력된다:Document type is text/html 경고: 쌍반점 다음에 정보가 있을 수 있다. 예를 들어:Document type is text/html; charset=iso-8859-1 그래서 언제나 다음과 같이..
urllib/urllib2를 사용하고 있고 404에러와 기타 HTTP 에러를 점검하고 싶다면? 다음은 그 트릭이다: try: urlfile = urllib2.urlopen('http://sebsauvage.net/nonexistingpage.html') except urllib2.HTTPError, exc: if exc.code == 404: print "Not found !" else: print "HTTP request failed with error %d (%s)" % (exc.code, exc.msg) except urllib2.URLError, exc: print "Failed because:", exc.reason 이런 식으로 404에러와 기타 HTTP 에러 코드를 점검할 수 있다. urlli..
urllib2로 프록시를 사용할 수 있다.# 프록시 주소와 포트: proxy_info = { 'host' : 'proxy.myisp.com', 'port' : 3128 } # 프록시를 위하여 처리자를 만든다 proxy_support = urllib2.ProxyHandler({"http" : "http://%(host)s:%(port)d" % proxy_info}) # 이 처리자를 사용하는 개방자(opener)를 만든다: opener = urllib2.build_opener(proxy_support) # 다음 이 개방자를 urllib2를 위한 기본 개방자로 설치한다: urllib2.install_opener(opener) # 이제 HTTP 요청을 전송할 수 있다: htmlpage = urllib2.urlo..