문제

파이썬 프로그램이 Mac 클립 보드에 텍스트를 배치하기를 바랍니다.

이게 가능해?

도움이 되었습니까?

해결책

새로운 답변 :

이 페이지 제안:

모든 Mac OS X 버전에 대한 구현

다른 MAC 모듈 (MacSharedClipboard.py, Listing 4)은 PBCopy (클립 보드에 텍스트를 복사하는)와 PBPASTE (클립 보드에있는 텍스트를 붙이는)라는 두 가지 명령 줄 프로그램 위에 클립 보드 인터페이스를 구현합니다. 접두사 "PB"는 클립 보드의 MAC 용어 인 "Pasteboard"를 나타냅니다.

오래된 답변 :

분명히 :

http://code.activestate.com/recipes/410615/

방법을 보여주는 간단한 스크립트입니다.

편집 : 이것이 탄소에 의존한다는 것을 깨달았으므로 이상적이지 않을 수도 있습니다.

다른 팁

Mac 클립 보드에 유니 코드 문자열을 작성하는 방법 :

import subprocess

def write_to_clipboard(output):
    process = subprocess.Popen(
        'pbcopy', env={'LANG': 'en_US.UTF-8'}, stdin=subprocess.PIPE)
    process.communicate(output.encode('utf-8'))

Mac 클립 보드에서 유니 코드 문자열을 읽는 방법 :

import subprocess

def read_from_clipboard():
    return subprocess.check_output(
        'pbpaste', env={'LANG': 'en_US.UTF-8'}).decode('utf-8')

Python 2.7 및 Python 3.4에서 작동합니다.

다음 코드는 pyobjc를 사용합니다 (http://pyobjc.sourceforge.net/)

from AppKit import NSPasteboard, NSArray

pb = NSPasteboard.generalPasteboard()
pb.clearContents()
a = NSArray.arrayWithObject_("hello world")
pb.writeObjects_(a)

처럼 코코아 문서에 설명되었습니다, 복사에는 세 단계가 필요합니다.

  • 페이스트 보드를 얻으십시오
  • 그것을 지우십시오
  • 채우십시오

페이스트 보드에 객체 배열을 채 웁니다 (여기 a 하나의 문자열 만 포함).

간단한 방법 :

cmd = 'echo %s | tr -d "\n" | pbcopy' % str
os.system(cmd)

교차 플랫폼 방법 :
https://stackoverflow.com/a/4203897/805627

from Tkinter import Tk
r = Tk()
r.withdraw()
r.clipboard_clear()
r.clipboard_append('i can has clipboardz?')
r.destroy()

나는 이것이 오래된 게시물이라는 것을 알고 있지만이 문제에 대한 매우 우아한 해결책을 찾았습니다.

이름이 지정된 라이브러리가 있습니다 파이 클립, 찾을 수 있습니다 https://github.com/georgefs/pyclip-copycat.

구문은 매우 간단합니다 (Github Repo의 예) :

import clipboard

# copy some text to the clipboard
clipboard.copy('blah blah blah')

# get the text currently held in the clipboard
text = clipboard.paste()

당신이 지나간 후 clipboard.copy('foo') 당신은 그냥 할 수 있습니다 CMD + v 텍스트를 얻으려면

Mac 클립 보드에 텍스트를 넣고 싶다면 Shell의 PBCopy 명령을 사용할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top