| | at : |
Archive

[PYTHON] Tkinter module을 이용한 Clipboard(클립보드) 제어/상용구 만들기 하훌 rwxr-xr-x 0 6/17/2016



[PYTHON] Tkinter module을 이용한 Clipboard(클립보드) 제어/상용구 만들기

Permission rw-r--r--
Author 하훌
Date and Time 6/17/2016
Label
License 크리에이티브 커먼즈 라이선스


일을 하다보면 항상 같은 말을 자주 써야할 상황이 많이 생깁니다.
오늘은 평소에 제가 Python 을 이용하여 사용하던 것을 풀어볼까합니다.

바로 clipboard 제어를 통해서 명령행으로 상용구처럼 글씨를 복사해놓는 방법입니다.
물론 상용구 기능의 프로그램을 사용하면 되지만 설치가 어렵거나 이런 경우 스크립트로 돌리는게 편하더라구요.

Tkinter 모듈 내 clipboard 제어

원래 Tkinter는 시스템에서 GUI를 그리기 위한 파이썬의 모듈입니다. 이 tk는 제가 예전에도 포스팅 했었던 것 같네요. (noon때였나.. hwul때였나...)

아무튼 파이썬 인터프리터를 이용하여 gui를 제어하기 때문에 Tk는 클립보드에도 접근할 수 있습니다.
클립보드에 접근이 가능하단 소리는, 우리가 편하게 복붙(Ctrl+C/V)을 할 수 있다는 소리지요.

아래 코드를 보면서 간단하게 보겠습니다.

from Tkinter import Tk
clip = Tk()          
clip.clipboard_append("Copy")      # append를 통해 클립보드에 데이터를 넣을 수 있음
clip.clipboard_clear()             # clear를 통해 클립보드를 지울 수 있음
Tkinter를 로드하고 Tk()로 clip에 Tk 클래스를 할당합니다.
이제 clip(Tk)는 clipboard_append, clipboard_clear 등의 메소드를 이용하여 클립보드를 제어할 수 있습니다.
또 clipboard_get 과 같이 클립보드 내용을 읽어올 수 있죠. 이 부분은 Tkinter 내 clipboard 관련 메소드 찾아보시면 많은 자료가 있을거에요.

Tkinter 를 이용하여 간단한 상용구 만들기

자 이제 함수를 써서 클립보드에 데이터를 채워넣을 수 있도록 만들어봅니다.

from Tkinter import Tk
clip = Tk()                        # 창 생성
clip = withdraw()                  # 창이 보이지 않도록 너비 조정
def a():                           # 편한 사용을 위한 함수1(상용구 느낌)
    clip.clipboard_clear() 
    clip.clipboard_append("Copy data 1")
   

def b():                           # 편한 사용을 위한 함수2(상용구 느낌)
    clip.clipboard_clear() 
    clip.clipboard_append("Copy data 2")
간단하죠? python console 에서 a(), b() 으로 데이터를 복사하며 사용할 수 있죠.

pyperclip 활용

이외에도 pyperclip로도 가능합니다. 이 라이브러리도 클립보드 제어를 위한 라이브러리며 pip로 설치 후 import 해서 사용하시면 됩니다.

 (~) #> pip install pyperclip
Downloading/unpacking pyperclip
  Downloading pyperclip-1.5.27.zip
  Running setup.py (path:/tmp/pip-build-ANX1j_/pyperclip/setup.py) egg_info for package pyperclip
 
Installing collected packages: pyperclip
  Running setup.py install for pyperclip
 
Successfully installed pyperclip
Cleaning up...

 (B, 37 files)──────────[ HAHWUL ]──────────[ hahwul@09:13:15 ]
 (~) #> python
Python 2.7.9 (default, Apr  2 2015, 15:33:21)
[GCC 4.9.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import pyperclip
>>> pyperclip.copy('Hello world!')
>>> pyperclip.paste()
'Hello world'

>>>

Reference

http://pyperclip.readthedocs.io/en/latest/introduction.html

Share







HAHWUL
HACKING | PENETRATION-TEST | CODING
HACKERONE : GIT : 0DAY-TODAY : EXPLOIT-DB : PACKETSTORM
GOOGLE+ | HAHWUL@GMAIL.COM | TWITTER
WWW.HAHWUL.COM




0 개의 댓글:

댓글 쓰기