Python으로 QR코드 생성
Python은 qrcode와 segno 같은 강력한 QR코드 라이브러리를 제공하며, 스크립팅, 자동화, 데이터 파이프라인에 적합합니다. 로컬에서 QR코드를 생성하거나 QRCode.fun API로 고급 스타일링을 적용하세요.
설치
pip를 사용하여 Python QR코드 라이브러리를 설치하세요.
pip install qrcode[pil]pip install segnoPython 라이브러리로 QR코드 생성
인기 있는 Python QR코드 라이브러리를 사용한 코드 예제.
Basic QR Code with qrcode
import qrcode
# Simple generation
img = qrcode.make('https://qrcode.fun')
img.save('qrcode.png')
# Advanced with customization
qr = qrcode.QRCode(
version=1,
error_correction=qrcode.constants.ERROR_CORRECT_H,
box_size=10,
border=4,
)
qr.add_data('https://qrcode.fun')
qr.make(fit=True)
img = qr.make_image(fill_color='#1A2B3C', back_color='white')
img.save('qrcode_custom.png')SVG Output with segno
import segno
qr = segno.make('https://qrcode.fun')
qr.save('qrcode.svg', scale=10)
qr.save('qrcode.png', scale=10, dark='#1A2B3C')QR Code with Logo
import qrcode
from PIL import Image
qr = qrcode.QRCode(error_correction=qrcode.constants.ERROR_CORRECT_H)
qr.add_data('https://qrcode.fun')
qr.make(fit=True)
img = qr.make_image(fill_color='#1A2B3C', back_color='white').convert('RGB')
# Add logo
logo = Image.open('logo.png')
logo_size = img.size[0] // 4
logo = logo.resize((logo_size, logo_size))
pos = ((img.size[0] - logo_size) // 2, (img.size[1] - logo_size) // 2)
img.paste(logo, pos)
img.save('qrcode_logo.png')Python에서 API로 QR코드 생성
Python에서 QRCode.fun API를 호출하여 커스텀 색상, 모양, 로고가 포함된 스타일 QR코드를 생성하세요.
import requests
response = requests.post('https://qrcode.fun/api/generate-qr-styled', json={
'data': 'https://qrcode.fun',
'width': 300,
'height': 300,
'type': 'png',
'margin': 10,
'dotsOptions': {
'color': '#1A2B3C',
'type': 'rounded'
},
'cornersSquareOptions': {
'color': '#8564C3',
'type': 'extra-rounded'
},
'backgroundOptions': {
'color': '#FFFFFF'
}
})
result = response.json()
# result['data'] contains the base64 PNG data URL
print(result['data'][:50])QR코드 라이브 미리보기
지금 바로 Python으로 QR코드를 생성해 보세요.
네이티브 라이브러리 vs API
Python QR코드 라이브러리 직접 사용과 QRCode.fun API 비교.
| 기능 | 네이티브 라이브러리 | QRCode.fun API |
|---|---|---|
| 설정 복잡도 | pip install + 이미지용 Pillow | requests를 통한 단일 HTTP 요청 |
| 커스터마이징 | 색상, 오류 정정 레벨, 박스 크기 | 전체 스타일링: 색상, 모양, 로고 |
| 오프라인 지원 | 예 | 인터넷 필요 |
| 유지보수 | 수동으로 패키지 업데이트 | 항상 최신 상태 |
| 출력 형식 | PNG, SVG, EPS, 터미널 | PNG, SVG |
Python QR코드 사용 사례
Python 개발자가 QR코드를 생성하는 일반적인 시나리오.
데이터 과학 및 보고서
자동화 보고서, Jupyter notebook, 데이터 시각화에 QR코드를 임베드하여 대시보드나 데이터셋에 연결합니다.
웹 앱 (Django/Flask)
Django나 Flask 앱에서 서버 사이드 QR코드를 생성하여 사용자 프로필, 티켓, 인증 토큰에 사용합니다.
자동화 스크립트
배치 처리 스크립트에서 QR코드를 생성하여 재고 라벨, 자산 추적, 문서 관리에 사용합니다.
IoT 및 Raspberry Pi
임베디드 장치에서 QR코드를 생성하여 Wi-Fi 설정, 장치 페어링, 설정 공유에 사용합니다.
Python QR코드 생태계 심층 분석
Python의 풍부한 생태계는 데이터 과학, 웹 앱, 자동화에서 QR코드 생성에 최적의 언어 중 하나입니다.
Django 및 FastAPI 통합 패턴
Django에서는 image/png 콘텐츠 타입의 HttpResponse를 반환하는 뷰를 생성합니다. FastAPI 사용자는 QR코드 바이트를 포함한 StreamingResponse를 반환할 수 있습니다. 두 프레임워크 모두 Redis 캐싱의 혜택을 받을 수 있습니다.
Jupyter Notebook과 데이터 과학 워크플로
IPython.display를 사용하여 Jupyter 셀 내에서 인라인으로 QR코드를 생성할 수 있습니다. Plotly Dash나 Streamlit 대시보드에 연결할 수 있습니다. papermill을 사용한 자동화 보고서 파이프라인에 통합할 수 있습니다.
Pillow, segno와 고급 이미지 처리
qrcode 라이브러리는 Pillow와 통합하여 로고와 그라데이션을 지원합니다. segno는 Pillow 없이 순수 Python SVG 출력을 제공합니다. segno의 EPS 출력은 인쇄 워크플로와 통합할 수 있습니다.
자주 묻는 질문
Python으로 QR코드 생성에 관한 일반적인 질문.