20 Stimmen

Python get mac Zwischenablage Inhalt

Wie kann ich mit Python (2.7) den Inhalt der Mac-Zwischenablage erhalten. Gibt es einen besseren Weg als einen Wrapper um pbpaste zu machen?

Gracias.

20voto

MagerValp Punkte 2742

PyObjC ist der richtige Weg:

#!/usr/bin/python

from AppKit import NSPasteboard, NSStringPboardType

pb = NSPasteboard.generalPasteboard()
pbstring = pb.stringForType_(NSStringPboardType)
print u"Pastboard string: %s".encode("utf-8") % repr(pbstring)

Diese Funktion unterstützt nur Text und gibt None sonst. Sie können die Funktion erweitern, um auch andere Datentypen zu unterstützen, siehe NSPastboard Klassenreferenz .

16voto

Fake Name Punkte 5126

Haben Sie sich die xerox Modul?
Es soll Windows, OS X und Linux unterstützen.


Die Verwendung ist wie folgt:

xerox.copy(u'some string')

Und zum Einfügen:

>>> xerox.paste()
u'some string'

9voto

lym Punkte 79

Wenn Sie Pandas installiert haben, können Sie die Funktion in Pandas wie folgt verwenden:

from pandas.io.clipboard import clipboard_get
text = clipboard_get()

5voto

Jonathan Eunice Punkte 19642

Das Problem mit dem xerox Modul und die meisten Codebeispiele, die ich für "den Inhalt der Mac-Zwischenablage erhalten" gefunden habe, ist, dass sie nur reinen Text zurückgeben. Sie unterstützen keine Hyperlinks, Stile und dergleichen, so dass sie nicht wirklich in der Lage, den vollen Inhalt von Anwendungen wie Microsoft Word und Google Chrome zur Verfügung gestellt zugreifen.

Auf den Schultern anderer stehend, habe ich schließlich herausgefunden, wie man das macht. Das Ergebnis richxerox Modul ist verfügbar unter PyPI et Bitbucket .

Obwohl diese Frage alt ist, hinterlasse ich hier Brotkrümel, weil ich diese Seite auf der Suche nach der Antwort immer wieder über Google gefunden habe.

3voto

Arne Punkte 2594

Kennen Sie PyObjC ? Ich schätze, man könnte es benutzen, um einen Py-Wrapper zu schreiben, der eine Schnittstelle zu NSPasteboard . Dies könnte "eleganter" sein, als die Kosten für pbpaste zu übernehmen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X