다양한 Python 라이브러리 / 모듈 / 도구

다양한 Python 라이브러리 / 모듈 / 도구

1 연산

1.1 문자열 처리

답장

정규 표현식의 표준 라이브러리。

문자열IO / cStringIO

파일을 읽고 써서 문자열 조작(메모리 파일과 다소 유사)。

cStringIO는 C 언어로 구현됩니다.,고성능 제공;그리고 StringIO는 Python으로 구현됩니다.,유니코드 호환성 제공。

샤르데

chardet은 모든 텍스트의 문자 집합 인코딩을 추측할 수 있습니다.。인코딩 유형을 알 수 없는 텍스트의 경우,유용할 것입니다。

chardet을 모듈로 사용할 수 있습니다.,명령줄 도구로도 사용할 수 있습니다.。

코드 예

import chardet 
print chardet.detect(바이트)

1.2 수학

수학

이름에서 알 수 있듯이 이 표준 라이브러리는,일반적으로 사용되는 수학 함수를 캡슐화합니다(추출、인덱스、로그、삼각 함수、기다리다)

무작위의

이름에서 알 수 있듯이 이 표준 라이브러리는,난수 생성에 사용

코드 예

# 생성 0-100 的随机数 
import random 
random.seed() 
random.randint(0, 100)

분수

이 표준 라이브러리는 유리수(분수)와 관련된 연산을 캡슐화합니다.

1.3 보안

해시립

파이썬에서 2.5 표준 라이브러리에 추가된 버전。통과,다양한 해시 값을 쉽게 계산할 수 있습니다.。

지원하는 해시 알고리즘은 다음과 같습니다.:MD5 SHA1 SHA224 SHA256 SHA384 SHA512

해싱 알고리즘 정보,나는 문맹 퇴치에 관한 기사를 썼습니다.여기)。

코드 예

# 计算字符串的 SHA1 散列值 
import hashlib 
sha1 = hashlib.sha1('안녕 세계').헥스다이제스트()

파이크립토

이 라이브러리에는 일반적인 대칭 암호화 알고리즘(DES、AES、아이디어、기다리다)、공개 키 암호화 알고리즘(RSA、DSA、기다리다)、해시 알고리즘(MD5、SHA1、RIPEMD、기다리다)。

pyOpenSSL

OpenSSL은 암호화 분야에서 유명합니다.。이 라이브러리는 Python을 사용하여 OpenSSL을 매우 얇게 캡슐화합니다.。

 


 

2 크로스 프로그래밍 언어

Python은 다른 프로그래밍 언어와 쉽게 통합될 수 있습니다.。통합 후,Python 코드에서 다른 프로그래밍 언어의 기능을 사용할 수 있습니다.、기준 치수、도서관,아주 멋져!

2.1 통합 C / C++ 언어

ctypes

파이썬의 ctypes 2.5 표준 라이브러리에 추가된 버전。

통과,C/C++ 동적 라이브러리에서 내보낸 함수를 쉽게 호출할 수 있습니다.,다양한 C/C++ 데이터 유형(예: 포인터)을 Python에서 사용할 수 있습니다.。

코드 예

# Linux/Unix 시스템의 표준 C 함수 호출,获取当前时间 
from ctypes import * 
libc = CDLL('libc.so.6') 
시간 = libc.time(없음) 
 
# Windows 시스템 API 호출,弹出消息提示框 
from ctypes import c_int, WINFUNCTYPE, windll 
from ctypes.wintypes import HWND, LPCSTR, UINT 
prototype = WINFUNCTYPE(c_int, HWND, LPCSTR, LPCSTR, UINT) 
매개변수 = (1, '헉', 0), (1, '텍스트', '안녕'), (1, '표제',없음), (1, '깃발', 0) 
메시지박스 = 프로토타입(('메시지박스A', windll.user32), 매개변수) 
메세지 박스(text='안녕하세요 세계',플래그=2)

통음

아주 오래된 브랜드입니다、잘 알려진 도구,그것은 여러 언어를 넣을 수 있습니다 (자바、파이썬、씨#、루비、PHP、펄、가져 가다、가다、등) C/C++에 통합。

사이썬

이 도구를 사용하면 Python 구문으로 확장 모듈 코드를 작성할 수 있습니다.,그런 다음 Python 코드를 로컬 동적 라이브러리(기계어 코드)로 컴파일하는 데 도움이 됩니다.。

그것으로 컴파일된 확장 모듈,성능은 C/C++로 작성된 확장 모듈과 동일합니다.。

2.2 통합 JVM 플랫폼

자이썬

Jython은 Python 코드가 JVM에서 실행되도록 합니다.,그리고 다른 JVM 언어 코드(예: Java Scale)를 호출할 수 있습니다.

2.3 dotNet 플랫폼 통합

아이언파이썬

IronPython을 통해 Python 코드를 dotNET 플랫폼에서 실행할 수 있습니다.,그리고 다른 dotNET 언어 코드(예: C# F#)를 호출할 수 있습니다.

2.4 Objective-C 언어 통합

PyObjC

이것은 Python에서 Mac OS X의 Objective-C 라이브러리를 래핑하는 것입니다.。

 


 

3 운영체제 관련

이것은 매우 기본적인 표준 라이브러리입니다.,공통 운영 체제 관련 작업 제공。

3.1 파일 및 디렉토리 작업

수틸

os 표준 라이브러리에 상대적,Shutil 표준 라이브러리는 좀 더 고급 파일 및 디렉토리 작업을 제공합니다(디렉토리 재귀 복사、재귀적으로 디렉토리 삭제、디렉토리 압축 및 패키징、기다리다)

코드 예

# 递归删除某个目录 
import shutil 
shutil.rmtree(xxx)

지구

이 표준 라이브러리는 파일을 찾는 데 사용됩니다(와일드카드 지원).

코드 예

# 获取当前目录所有 txt 文件 
import glob 
files = glob.glob('./*.txt')

fnmatch

이 표준 라이브러리는 파일 이름을 일치시키는 데 사용됩니다(와일드카드가 지원됨)

코드 예

# 列出当前目录所有 txt 文件 
import os, fnmatch 
for file in os.listdir('.') : 
    fnmatch.fnmatch이면(파일, '*.txt') : 
        인쇄(파일)

임시 파일

이 표준 라이브러리 사용,임시 파일 또는 임시 디렉토리를 안전하게 생성할 수 있습니다.。

3.2 로컬 IPC(프로세스 간 통신)

하위 프로세스 / 다중 처리

프로세스 관리를 위한 표준 라이브러리,자식 프로세스를 시작할 수 있음,표준 입력 및 출력을 통해 자식 프로세스와 상호 작용。

멀티프로세싱이 있는 곳 2.6 표준 라이브러리에 추가된 버전。

신호

프로세스 신호 처리를 위한 표준 라이브러리。

mmap

메모리 매핑된 파일에 대한 지원 제공。

코드 예

# 利用 mmap 在父子进程间交换数据 
import os 
import mmap 
 
map = mmap.mmap(-1, 13) 
지도 쓰기("안녕하세요 세계") 
 
pid = os.fork() 
 
pid ==인 경우 0: # 子进程 
    map.seek(0) 
    map.readline 인쇄() 
    지도.닫기()

3.3 윈도우 시스템 관련

파이윈32

이 타사 라이브러리는 Windows API 및 COM API를 캡슐화합니다.。이를 통해 Python for Windows 프로그래밍을 쉽게 사용할 수 있습니다(COM 구성 요소 호출、Windows 서비스 작성、기다리다)。

3.4 리눅스 / 유닉스 시스템 관련

시스템 로그

이 표준 라이브러리를 통해,POSIX의 syslog 서비스와 쉽게 상호 작용할 수 있습니다.。

3.5 프로그램 패키징

파이 인스톨러

PyInstaller는 Python 코드를 독립 실행형 프로그램으로 만들 수 있습니다(Python 환경에 의존하지 않고 실행할 수 있음)。

이 도구는 여러 운영 체제를 지원합니다.,포함하다:윈도우、리눅스、맥 OS X、솔라리스、AIX、기다리다。

파이2exe

py2exe의 기능은 PyInstaller와 유사합니다.,그러나 Windows 플랫폼만 지원。

파이투앱

와 매우 유사하다 파이2exe,차이점은 파이2exe 지원 Windows 플랫폼,그리고 파이투앱 지원 Mac OS X 플랫폼。

쉬운 설치 / 설정도구

이 도구 세트는 타사 라이브러리를 관리하는 데 도움이 될 수 있습니다(다운로드、엮다、설치、업그레이드、제거)

 


 

4 웹 개발

웹 개발은 오늘날 뜨겁다,나는 관련 웹을 별도의 카테고리로 나눕니다.。

4.1 HTTP 프로토콜

httplib / httplib2 / http.요청 / urllib.parse

이러한 라이브러리는 다양한 HTTP 클라이언트 요청(GET、우편、기다리다)。

Python2의 모듈 이름은 httplib입니다. / httplib2,Python3 모듈의 이름을 http.request로 변경하십시오. / urllib.parse

코드 예

# 读取指定 URL 的网页内容 
import urllib 
handle = urllib.urlopen('http://www.google.com') 
페이지 = 핸들.읽기() 
핸들.닫기()

4.2 웹 서버

단순HTTP서버 / http.서버

경량 HTTP 서버의 표준 라이브러리 제공。

Python2의 모듈 이름은 SimpleHTTPServer입니다.,Python3 모듈의 이름을 http.server로 변경합니다.

코드 예

#一个极简单的 HTTP 服务 
import SocketServer 
import SimpleHTTPServer 
 
PORT = 8000 
Handler = SimpleHTTPServer.SimpleHTTPRequestHandler 
httpd = SocketServer.TCPServer(('', 포트), 매니저) 
'항구에서 서빙' 인쇄, PORT 
httpd.serve_forever()

4.3 웹 개발 프레임워크

장고

파이썬 커뮤니티에서,Django는 현재 가장 영향력 있는 웹 개발 프레임워크입니다.。프레임이 무겁다.,웹 서버 개발에 일반적으로 사용되는 기본 제공 구성 요소。

Django에는 다양한 응용 프로그램이 있습니다.,예를 들어, Google의 웹 개발 플랫폼 GAE는 이를 지원합니다.。

Django는 앞서 언급한 Jython 런타임 환경을 완벽하게 지원합니다.,모든 J2EE 서버에서 실행 가능。

터보기어

또 다른 강력한 웹 개발 프레임워크,명성은 Django에 이어 두 번째입니다.。

폭풍

FriendFeed에서 개발한 웹 프레임워크입니다.。FriendFeed가 Facebook에 인수된 후,프레임워크는 오픈 소스입니다.。

플라스크

이것은 매우 가벼운 웹 프레임워크입니다.,하지만 확장성은 매우 좋습니다.。

코드 예

# 用 Flask 写 Hello world 
from flask import Flask 
app = Flask(__이름__) 
  
@app.route("/") 
데프 안녕하세요(): 
    반품 "헬로월드!" 
  
__이름__ ==인 경우 "__기본__": 
    앱 실행()

4.4 웹 프런트 엔드 / JS 통합

잠옷 / pyjs

이것은 GWT(Google Web Toolkit)에서 이식된 타사 라이브러리입니다.。Python에서 JS로 컴파일 제공,AJAX 프레임워크 및 기타 기능。 잠옷은 데스크탑 GUI 애플리케이션 개발에도 사용할 수 있습니다.。

술 취한

이것은 또한 Python에서 JavaScript로의 컴파일 도구입니다.。

4.5 브라우저 통합

웹 브라우저

현재 시스템의 기본 브라우저 조작,지정된 URL의 페이지 방문。

코드 예

# 用默认浏览器打开 Google 主页 
import webbrowser 
webbrowser.open('http://www.google.com')

pyv8

v8 Google에서 개발한 JavaScript 해석 엔진입니다.。이것은 v8 엔진용 Python 래퍼입니다.。

코드 예

import PyV8 
 
ctxt1 = PyV8.JSContext() 
ctxt1.enter() 
ctxt1.eval('1+2')  # 对 JS 表达式求值 
 
class Global(PyV8.JS클래스) :  # 定义一个兼容 JS 的类 
    def hello(본인) : 
        print 'Hello world' 
 
ctxt2 = PyV8.JSContext(글로벌()) # JS 컨텍스트 만들기,传入 Global 类的对象 
ctxt2.enter()                     
ctxt2.eval('안녕하세요()')  # 전화해() 함수

파이웹킷Gtk

WebKitGtk WebKit 기반의 웹 렌더링 엔진입니다.。이것은 WebKitGtk의 Python 래퍼입니다.。

 


 

5 네트워크 프로그래밍

5.1 표준 계약

5.1.1 링크 레이어 / 네트워크 계층

스카피

이것은 저수준 네트워크 라이브러리입니다.,네트워크 데이터 패킷은 서로 다른 프로토콜 수준(링크 계층 포함)에서 구성될 수 있습니다.、네트워크 계층、수송층),스니퍼 패킷 캡처도 지원합니다.。

네트워크 보안에 종사하는 네티즌들은 이 라이브러리를 좋아할 것입니다.。

코드 예

# 传统的 ping 扫描(网络层) 
ans,우난 = sr(IP(dst='192.168.1.1-254')/ICMP()) 
 
# 局域网内的 ARP 扫描(链路层) 
ans,우난 = srp(에테르(dst='ff:ff:ff:ff:ff:에프')/ARP(pdst = '192.168.1.0 / 24'), 시간 초과=2)

5.1.2 수송층

소켓

Python 표준 라이브러리는 오랫동안 소켓 프로그래밍을 지원해 왔습니다.。

이 표준 라이브러리는 버클리 소켓의 간단한 캡슐화입니다.,API는 기본적으로 BSD SOCKET 일대일 대응。

비동기

이 표준 라이브러리는 비동기식 SOCKET을 지원합니다.。

비동기화

이 표준 라이브러리는 앞서 언급한 asyncore,더 높은 수준의 API 제공,비동기식 통신 프로그래밍 단순화。

5.1.3 애플리케이션 레이어

ftplib

FTP 프로토콜을 캡슐화하는 표준 라이브러리(파일 전송)

smtplib

SMTP 프로토콜을 캡슐화하는 표준 라이브러리(메일 전송)

아이맵립

IMAP 프로토콜을 캡슐화하는 표준 라이브러리(메일 수신)

팝립

POP3 프로토콜을 캡슐화한 표준 라이브러리(메일 수신)

PicURL

cURL은 강력한 네트워크 라이브러리/네트워크 도구입니다.,N 다중 애플리케이션 계층 프로토콜 지원。이것은 Python으로 패키징된 타사 라이브러리입니다.。

cURL 정보,나는 몇 년 전에 그것을 추천하는 블로그 게시물을 썼습니다 (in여기)。

재버.py

Jabber(XMPP라고도 함)는 IM(인스턴트 메시징) 프로토콜의 표준입니다.。이것은 Python으로 패키징된 타사 라이브러리입니다.。

irclib

IRC는 Internet Relay Chat의 약자입니다.。이것은 Python으로 패키징된 타사 라이브러리입니다.。

5.2 인코딩 및 디코딩

json

표준 라이브러리,JSON 형식 인코딩 및 디코딩 제공。

JSON 형식은 이제 웹 개발에 널리 사용됩니다.。

코드 예

import json 
 
json.dumps(['푸', {'술집': ('바즈', 없음, 1.0, 2)}]) 
# JSON 인코딩 
# 다음 문자열 가져오기 
# '["푸", {"술집": ["바즈", 없는, 1.0, 2]}]' 
 
json.loads('["푸", {"술집":["바즈", 없는, 1.0, 2]}]') 
# JSON 디코딩 
# 다음 객체 가져오기 
# [유'푸', {유바 ': [유바즈', 없음, 1.0, 2]}]

베이스64

표준 라이브러리,Base16 제공、Base32、Base64 형식의 인코딩 및 디코딩。

빈헥스

표준 라이브러리,binhex4 형식으로 인코딩 및 디코딩 제공。

우우

표준 라이브러리,uuencode 형식 인코딩 및 디코딩 제공。

프로토콜 버퍼(protobuf)

Google에서 개발한 교차 언어 라이브러리입니다.,네트워크 전송을 위한 인코딩 및 디코딩。

장점은:여러 언어에 걸쳐、고성능、앞으로 호환 가능、구버전과 호환되는。나는 몇 년 전에 protobuf를 추천하는 블로그 포스트를 썼습니다.여기)。

5.3 웹 개발 프레임워크

꼬인

Python 네트워크 통신 개발 프레임워크입니다.,10년 이상의 역사를 가지고 있습니다,아주 유명하다。

일부 디자인은 C++와 유사합니다. 에이스 액자。전송 계층(TCP UDP)의 개발 외에도,여러 애플리케이션 계층 프로토콜(HTTP、XMPP、SSH、IRC、등) 지원。

코드 예

# 간단한 에코 서비스 구현,모니터 12345 端口 
from twisted.internet import protocol, reactor 
 
class Echo(프로토콜.프로토콜) : 
    def 데이터수신(본인, 데이터) : 
        self.transport.write(데이터) 
 
클래스 에코팩토리(프로토콜.팩토리) : 
    def buildProtocol(본인, 주소) : 
        에코를 반환() 
 
Reactor.listenTCP(12345, 에코팩토리()) 
리액터.런()

 


 

6 데이터 베이스

데이터베이스 개발을 용이하게 하기 위해,Python 커뮤니티는 데이터베이스의 API 사양을 개발했습니다(원기 249)。

데이터베이스 작업을 포함하는 한,표준 라이브러리 및 대부분의 타사 라이브러리는 이 사양을 따릅니다.。다음 모듈의 샘플 코드를 참조하십시오.。

6.1 데이터베이스 미들웨어

6.1.1 ODBC

pyODBC

pyODBC는 ODBC API를 캡슐화합니다.,다양한 데이터베이스에 접근 가능(ODBC 드라이버가 있는 한)。

코드 예

# 查询某个 ODBC 数据源的某个表 
import pyodbc 
conn = pyodbc.connect('DSN=xxx;비밀번호=비밀번호') 
커서 = conn.cursor() 
커서.실행('테이블1에서 필드1 선택') 
참인 동안 : 
    행 = cursor.fetchone() 
    행이 아닌 경우 : 
        break 
    print(열) 
커서.닫기() 
연결 닫기()

ceODBC

ODBC API를 캡슐화하는 다른 타사 라이브러리

6.1.2 JDBC

자이썬

앞서 언급한 자이썬。를 기반으로 할 수 있습니다. JDBC 운영 데이터베이스。

6.1.3 야단법석 / ADO.NET

파이윈32

앞서 언급한 PyWin32。를 기반으로 할 수 있습니다. 야단법석 운영 데이터베이스。

아이언파이썬

앞서 언급한 IronPython。를 기반으로 할 수 있습니다. ADO.NET 운영 데이터베이스。

6.2 특정 데이터베이스

6.2.1 MySQL

파이썬용 MySQL

MySQL의 타사 라이브러리 운영。

코드 예

# 查询某个 MySQL 数据库的某个表 
import MySQLdb 
conn = MySQLdb.connect(db='테스트', passwd='비밀번호') 
커서 = conn.cursor() 
커서.실행('테이블1에서 필드1 선택') 
참인 동안 : 
    행 = cursor.fetchone() 
    행이 아닌 경우 : 
        break 
    print(열) 
커서.닫기() 
연결 닫기()

6.2.2 PostgreSQL

사이코프

PostgreSQL 운영을 위한 타사 라이브러리。

사이코프

PostgreSQL 운영을 위한 타사 라이브러리。

6.2.3 신탁

cx_오라클

Oracle의 타사 라이브러리 운영。

6.2.4 MS SQL 서버

pymssql

Microsoft SQL Server 운영을 위한 타사 라이브러리。

6.2.5 IBM DB2

ibm-db

DB2 운영을 위한 타사 라이브러리。

6.2.6 SQLite

sqlite3

파이썬의 sqlite3 2.5 버전이 표준 라이브러리에 추가되기 시작했습니다.。통과,SQLite 데이터베이스를 쉽게 운영할 수 있습니다.。

SQLite는 우수한 경량 데이터베이스입니다.,나는 몇 년 전에 그것을 추천하는 블로그 게시물을 썼습니다 (in여기)。

코드 예

# 인메모리 데이터베이스 생성,建表并插入记录 
import sqlite3 
conn = sqlite3.connect(':메모리:') 
커서 = conn.cursor() 
커서.실행('CREATE TABLE 사람 (이름 텍스트, 나이 정수)') 
커서.실행('''주식 값에 삽입 ('톰',20)''') 
conn.commit() 
연결 닫기()

6.2.7 버클리 DB

파이BSDDB

Berkeley DB의 타사 라이브러리 운영。

6.3 ORM(객체 관계형 매핑)

SQLAlchemy

SQLAlchemy에서 지원하는 데이터베이스는 다음과 같습니다.:MySQL、PostgreSQL、스퀄라이트、신탁、MS SQL 서버、불새、사이베이스 SQL 서버、인포믹스、기다리다。

코드 예

# 通过对象的方式创建两张依赖关系的表 
from sqlalchemy import * 
from sqlalchemy.ext.declarative import declarative_base 
from sqlalchemy.orm import relation, sessionmaker 
  
Base = declarative_base() 
  
수업 영화(베이스) : 
    __tablename__ = 'movies' 
  
    id = Column(정수, primary_key=참) 
    제목 = 열(끈(255), nullable=거짓) 
    연도 = 열(정수) 
    directed_by = 열(정수, 외래키('디렉터스.id')) 
    감독 = 관계('감독', backref='영화', 게으른=거짓) 
  
    def __초기화__(본인, 제목=없음, 연도=없음) : 
        self.title = title 
        self.year = year 
 
    def __repr__(본인) : 
        리턴 '영화(%아르 자형, %아르 자형, %아르 자형)' % (self.title, 자기.년, 셀프디렉터) 
  
클래스 디렉터(베이스) : 
    __tablename__ = 'directors' 
  
    id = Column(정수, primary_key=참) 
    이름 = 열(끈(50), nullable=거짓, 고유=참) 
  
    def __초기화__(본인, 이름=없음) : 
        self.name = name 
  
    def __repr__(본인) : 
        리턴 '감독(%아르 자형)' % (자기이름) 
  
Base.metadata.create_all(create_engine('DBMS://사용자:pwd@host/dbname'))

SQL객체

SQLObject에서 지원하는 데이터베이스는 다음과 같습니다.:MySQL、PostgreSQL、스퀄라이트、MS SQL 서버、불새、사이베이스 SQL 서버、SAP DB、기다리다。

코드 예

# 通过对象的方式创建表 
from sqlobject import * 
sqlhub.processConnection = connectionForURI('sqlite:/:메모리:') 
 
클래스 사람(SQL객체) : 
    first_name = StringCol() 
    last_name = StringCol() 
 
사람.createTable()

 


 

7 데스크탑 GUI 개발

7.1 GUI 框架 / 컴포넌트 라이브러리

7.1.1 Tk 기반

Tk 크로스 플랫폼 인터페이스 구성 요소 라이브러리입니다.。

티킨터 / 티킨터

이것은 Python에 내장된 표준 라이브러리입니다.,Tcl/Tk 인터페이스 라이브러리 패키징。

Python2의 모듈 이름은 Tkinter입니다.,Python3 모듈의 이름을 tkinter로 변경하십시오.

코드 예

# 用 Tkinter 写 Hello world 
from Tkinter import * 
 
if __name__ == '__main__' : 
    루트 = Tk() 
    레이블 = 레이블(뿌리, text='안녕하세요 세계') 
    라벨.팩() 
    루트.메인루프()

7.1.2 wxWidgets 기반

wx위젯 C++로 개발된 크로스 플랫폼 프레임워크입니다(GUI 뿐만 아니라,다른 기능이 있습니다)。

wx파이썬

모든 wxWidgets Python 래퍼 라이브러리에서,이것은 가장 유명한。

울리패드(국내 유명 Python IDE) wxPython 기반으로 개발。

코드 예

# 用 wxPython 写 Hello world 
import wx 
 
class Frame(wx.Frame) : 
    pass 
 
class App(wx.App) : 
    def OnInit(본인) : 
        self.frame = 프레임(부모=없음, title='안녕하세요 세상') 
        self.frame.Show() 
        self.SetTopWindow(셀프 프레임) 
        return True 
 
if __name__ == '__main__' : 
    앱 = 앱() 
    앱.메인 루프()

파이썬카드

wxWidgets 기반의 또 다른 GUI 라이브러리。

7.1.3 GTK+ 기반

GTK+ 전체 이름은 (GIMP Toolkit)입니다.,C에서 개발한 크로스 플랫폼 인터페이스 컴포넌트 라이브러리。

파이 GTK

이것은 Python의 GTK 캡슐화입니다.。

코드 예

# 用 PyGTK 写 Hello world 
import pygtk 
pygtk.require('2.0') 
import gtk 
 
class HelloWorld : 
    def __초기화__(본인) : 
        self.window = gtk.Window(gtk.WINDOW_TOPLEVEL) 
        self.window.connect('delete_event', self.delete_event) 
        self.window.connect('파괴하다', self.destroy) 
        self.window.set_border_width(10) 
 
        self.button = gtk.Button('안녕 세계') 
        self.button.connect('클릭', 자기.안녕, 없음) 
        self.button.connect_object('클릭', gtk.Widget.destroy, self.window) 
        self.window.add(셀프 버튼) 
 
        self.button.show() 
        self.window.show() 
 
    데프 메인(본인) : 
        gtk.main() 
 
    데프 안녕하세요(본인, 위젯, 데이터=없음) : 
        print 'Hello world' 
 
    def delete_event(본인, 위젯, 이벤트, 데이터=없음) : 
        print 'delete event occurred' 
        return False 
 
    def destroy(본인, 위젯, 데이터=없음) : 
        gtk.main_quit() 
 
if __name__ == '__main__' : 
    안녕하세요 = HelloWorld() 
    안녕하세요.메인()

7.1.4 Qt 기준

Qt C++로 개발된 크로스 플랫폼 프레임워크입니다(GUI 뿐만 아니라,다른 기능이 있습니다)。

파이큐트

이것은 Python의 Qt 캡슐화입니다.。

코드 예

# 用 pyQt 写 Hello world 
import sys 
from PyQt4.QtGui import * 
 
if __name__ == '__main__' : 
    앱 = Q어플리케이션(sys.argv) 
    창 = QWidget() 
 
    창.크기 조정(320, 240) 
    window.set창 제목('안녕 세계') 
    창.쇼() 
    시스템 종료(app.exec_())

파이사이드

이것은 또한 Python의 Qt 캡슐화입니다.。

7.1.5 FLTK 기반

FLTK 전체 이름은 (Fast Light Tool Kit)입니다.,C++로 개발된 크로스 플랫폼、경량 인터페이스 구성 요소 라이브러리。

PyFLTK

이것은 Python의 FLTK 캡슐화입니다.。

7.1.6 Windows 플랫폼 기반

파이윈32

앞서 언급한 PyWin32。기본 Windows GUI 인터페이스를 제공할 수 있습니다.。

아이언파이썬

앞서 언급한 IronPython。그것은 dotNET GUI 인터페이스를 제공할 수 있습니다。

7.1.7 JVM 플랫폼 기반

자이썬

앞서 언급한 자이썬。그것은 자바 기반을 제공할 수 있습니다 그네 상호 작용。

7.1.8 다른

EasyGUI

EasyGUI 이것은 매우 가벼운 라이브러리입니다。다른 GUI와의 차이점은 이벤트 기반이 아니라는 것입니다.。

파이 GUI

PyGUI는 더 높은 수준의 GUI 라이브러리입니다.,하단 레이어는 별도로 캡슐화됩니다. 파이윈32(윈도우 플랫폼)、파이 GTK(리눅스 플랫폼)、PyObjC(맥 OS X 플랫폼)。

실망한

크로스 플랫폼 멀티미디어 프레임워크 및 인터페이스 라이브러리,더 눈부신 인터페이스를 개발하는 데 사용。

데스크톱 운영 체제를 지원하는 것 외에도,안드로이드도 지원 / iOS,멀티 터치 지원。

OcempGUI

PyGame 기반의 크로스 플랫폼 GUI 라이브러리。PyGame은 아래에 언급될 것입니다。

7.2 차트/보고서

매트플롯립

이것은 잘 알려진 그래픽 라이브러리입니다.,주로 수학 관련 그래픽을 그리는 데 사용。

나중에 언급 사이파이 통합은 MATLAB과 유사한 효과를 가질 수 있습니다.。효과 사진은 "여기”。

Gnuplot.py

이것은 파이썬입니다 gnuplot 패키지。gnuplot의 렌더링은 "여기”。

파이큐티그래프

이것은 순수한 Python 라이브러리입니다.,PyQt4에 따라 다름 / 파이사이드。효과 사진은 "여기”。

성합

이 라이브러리는 TeX와 함께 사용할 수 있습니다. / LaTeX 원활한 통합,PostScript로 내보내기 지원 / PDF 형식。보고서 작성에 적합。효과 사진은 "여기”。

차코

이것은 상업 회사에서 유지 관리하는 라이브러리입니다.,주로 2D 차트 제공。효과 사진은 "여기”。

 


 

8 파일 형식 처리

8.1 압축 파일 처리 / 패키지 파일

8.1.1 지퍼

압축 파일

zip 형식을 처리하는 표준 라이브러리。

8.1.2 bzip2(bz2)

bz2

bzip2 형식을 처리하기 위한 표준 라이브러리。

8.1.3 gzip(gz)

gzip

gzip 형식을 처리하기 위한 표준 라이브러리。

즐리브

gzip 형식을 처리하기 위한 표준 라이브러리。

8.1.4 타르

tar 파일

tar 형식을 처리하는 표준 라이브러리。

8.1.5 7지퍼(7z)

필즈마

7zip 형식의 타사 라이브러리 처리。

8.1.6 라르

rarfile

rar 형식을 처리하는 타사 라이브러리。

8.1.7 msi

msilib

msi 형식 처리를 위한 표준 라이브러리,파이썬에서 2.5 사용 가능한 버전。

8.2 마크업 언어 처리

8.2.1 XML

xml.dom / xml.miniDom / xml.etree.ElementTree

DOM(Document Object Model)으로 XML 파일을 처리하기 위한 표준 라이브러리。

xml.sax / xml.parsers.expat

SAX(Simple API for XML)로 XML 파일을 처리하기 위한 표준 라이브러리。

lxml

유명한 C 언어 라이브러리 libxml 및 libxslt의 Python 패키지。

아주 세다,지원 XPath 1.0、XSLT 1.0、EXSLT 확장、기다리다。HTML 형식을 구문 분석하는 데에도 사용할 수 있습니다.。

8.2.2 HTML

HTML 파서

콜백 모드에서 HTML/XHTML 파일의 내용을 구문 분석하기 위한 표준 라이브러리。

8.3 사진 처리

파이썬 이미징 라이브러리 (필)

이것은 잘 알려진 Python 이미지 처리 라이브러리입니다.,공통 이미지 파일 형식 지원(BMP、JPG、GIF、PNG、기다리다),이미지에 대해 다양한 공통 작업을 수행할 수 있습니다(형식 변환、회전、줌、자르다、기다리다)。

코드 예

# 旋转某图片并显示 
from PIL import Image 
im = Image.open('xxx.jpg') 
im = im.rotate(90) 
im.show()

8.4 PDF 처리

pyfpdf

이것은 FPDF 파이썬 포팅 라이브러리,PDF 문서 생성에 사용。

지원되는 기능은 비교적 완벽합니다(임베디드 글꼴、삽입된 이미지),문서도 더 자세하게。

코드 예

# 这是个简单 Hello World 示例 
from fpdf import FPDF 
 
pdf = FPDF() 
pdf.add_page() 
pdf.set_font('아리알', 'NS', 16) 
pdf.cell(40, 10, '헬로월드') 
pdf.출력('테스트.pdf', 'NS')
# HTML 구문 작성 지원。目前支持几种常见的 HTML tag 
from pyfpdf import FPDF, HTMLMixin 
 
class MyFPDF(FPDF, HTMLMixin) : 
    pass 
                     
pdf = MyFPDF() 
pdf.add_page() 
pdf.write_html(HTML) 
pdf.출력('테스트.pdf', 'NS')

pyPDF / 파이PDF2

pyPdf는 더 이상 업그레이드 및 유지 관리되지 않습니다.。PyPDF2는 pyPdf의 포크이며 계속해서 새로운 기능을 추가합니다.。

파일 속성을 추출하는 것 외에도,문서를 분할/병합할 수도 있습니다.,문서 암호화/복호화。

PDF마이너

PDF 파일 속성 및 각 페이지의 텍스트 추출 가능,콘텐츠를 HTML 형식으로 출력 지원。

8.5 Office 문서 작업

8.5.1 단어(doc、docx)

파이윈32

앞서 언급한 PyWin32。를 기반으로 할 수 있습니다. 와 함께 Office 문서 조작,Word 포함(Office가 로컬에 설치되어 있어야 함)。

8.5.2 엑셀(xls、xlsx)

파이 엑셀러레이터

라이브러리는 Office Excel(97/2000/XP/2003) 및 OpenOffice Calc 문서를 지원할 수 있습니다.。외부 소프트웨어에 의존할 필요 없음。

파이윈32

앞서 언급한 PyWin32。를 기반으로 할 수 있습니다. 와 함께 Office 문서 조작,Excel 포함(Office가 로컬에 설치되어 있어야 함)。

8.5.3 파워포인트(ppt、pptx)

파이썬-pptx

이 라이브러리는 pptx(Open XML PowerPoint) 형식의 문서를 생성하는 데 사용할 수 있습니다.。

파이윈32

앞서 언급한 PyWin32。를 기반으로 할 수 있습니다. 와 함께 Office 문서 조작,Excel 포함(Office가 로컬에 설치되어 있어야 함)。

8.6 프로세스 CHM

파이CHM

이것은 기반 chmlib 파이썬 래퍼 라이브러리。CHM 파일의 속성과 각 페이지의 내용을 추출할 수 있습니다.。

8.7 RTF 처리

PyRTF

이 Python 라이브러리는 RTF(서식 있는 텍스트 형식) 문서를 처리하는 데 사용할 수 있습니다.。

 


 

9 게임 개발

파이 게임

플랫폼 간 Python 타사 라이브러리,게임 개발을 지원하는 데 사용,아주 유명하다。

파이오픈GL

OpenGL을 래핑하는 Python 타사 라이브러리。

파이썬 오우거

OGRE(3D 렌더링 엔진)를 캡슐화하는 타사 Python 라이브러리。

 


 

10 수치 계산 / 과학 컴퓨팅

넘파이

NumPy는 강력한、고성능 숫자 배열,다양한 수치 계산(행렬 연산 포함)을 수행하는 데 사용할 수 있습니다.。

코드 예

# 다음은 전통적인 Python 작성입니다.,冗长且速度较慢 
a = range(10000000) 
b = 범위(10000000) 
c = [] 
범위 내(렌(ㅏ)) : 
    c.추가(ㅏ[나는] + 비[나는]) 
 
# 다음은 NumPy가 작성되는 방식입니다.,简洁且速度飞快 
import numpy as np 
a = np.arange(10000000) 
b = np.arange(10000000) 
c = 에이 + 비

사이파이

SciPy는 NumPy에서 제공하는 다차원 배열에 의존합니다.。넘파이와 비교,SciPy는 더 높은 수준의 수학 연산 모듈(통계、선형 대수학、완전한、상미분 방정식 풀기、푸리에 변환、신호 처리、기다리다),과학 연구 및 공학에서 널리 사용됩니다.。

11 다른

분류하기 불편한 일부,일단 여기에 넣어。

파이파이

이것은 Python으로 작성된 Python 인터프리터입니다(작은 혀 트위스터)。

PyPy는 JIT(Just-In-Time Compilation) 및 샌드박스 기술을 지원합니다.,CPython보다 빠르게 실행할 수 있습니다.。

답장을 남겨주세요