개요
파이썬은 다양한 애플리케이션 개발 과정에서 추가 기능을 손쉽게 구현할 수 있도록 수많은 내장 라이브러리와 외부 모듈을 제공합니다. 그중 pyperclip은 운영체제에 관계없이 동작하는 크로스 플랫폼 모듈로, 어떤 파이썬 애플리케이션에서든 복사(Copy)와 붙여넣기(Paste) 기능을 간단하게 구현할 수 있게 해줍니다.
pyperclip을 사용하려면 먼저 아래 명령어로 모듈을 설치해야 합니다.
pip install pyperclip
활용 예시
가장 대표적인 활용 사례는 클립보드에 저장된 텍스트를 읽어와 화면에 표시하는 애플리케이션입니다. 여기에 tkinter의 Entry 위젯이나 Text 위젯처럼 사용자 입력을 받을 수 있는 요소와 결합하면, 복사한 내용을 직접 편집창에 붙여넣는 GUI 프로그램도 쉽게 만들 수 있습니다.
예제 코드
다음 예제는 클립보드의 텍스트를 읽어 텍스트 편집창에 붙여넣는 간단한 tkinter 애플리케이션입니다.
# 필요한 라이브러리 임포트
from tkinter import *
import pyperclip
# tkinter 윈도우(프레임) 인스턴스 생성
win = Tk()
# 윈도우 크기 설정
win.geometry("700x350")
# 텍스트 위젯 생성
my_clip = Text(win, height=15)
my_clip.pack()
def update_text():
global my_clip
# 클립보드 내용을 텍스트 위젯 끝에 삽입
my_clip.insert(END, pyperclip.paste())
# 클립보드에서 복사한 텍스트를 붙여넣는 버튼 생성
button = Button(win, text="Paste Here", command=update_text)
button.pack()
win.mainloop()코드 설명
pyperclip.paste() 함수는 현재 클립보드에 저장되어 있는 문자열을 반환합니다. 이 값을 tkinter의 Text 위젯에서 insert(END, ...) 메서드로 전달하면, 편집창의 마지막 위치에 클립보드 내용이 추가됩니다. 버튼의 command 옵션에 이 동작을 연결했기 때문에, 사용자가 버튼을 클릭할 때마다 최신 클립보드 내용이 화면에 붙여넣어집니다.
실행 결과
위 코드를 실행하면 버튼 하나와 텍스트 편집 영역이 포함된 창이 나타납니다. 아무 곳이나 텍스트를 복사한 뒤 Paste Here 버튼을 클릭하면, 클립보드에 있던 내용이 편집창에 그대로 붙여넣어지는 것을 확인할 수 있습니다.