يمكن أن الثعبان إرسال النص إلى الحافظة ماك
سؤال
أحب برنامج بيثون لوضع بعض النص في ماك الحافظة.
هل هذا ممكن ؟
المحلول
إجابة جديدة:
هذه الصفحة يشير إلى:
تنفيذ جميع نظام التشغيل Mac OS X الإصدارات
أخرى ماك وحدة (MacSharedClipboard.py في قائمة 4) الأدوات الحافظة واجهة على أعلى اثنين من البرامج سطر الأوامر ودعا pbcopy (الذي نسخ النص إلى الحافظة) و pbpaste (التي المعاجين أيا كان النص في الحافظة).البادئة "pb" تقف على "كرتون" ، ماك المدى الحافظة.
القديمة الجواب:
يبدو ذلك:
http://code.activestate.com/recipes/410615/
هو سيناريو بسيط مما يدل على كيفية القيام بذلك.
تحرير:فقط أدركت هذا يعتمد على الكربون ، لذا قد لا يكون مثاليا...يتوقف قليلا ما كنت تستخدم ل.
نصائح أخرى
وكيف لكتابة سلسلة Unicode إلى الحافظة ماك:
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'))
وكيفية قراءة سلسلة Unicode من الحافظة ماك:
import subprocess
def read_from_clipboard():
return subprocess.check_output(
'pbpaste', env={'LANG': 'en_US.UTF-8'}).decode('utf-8')
ويعمل على حد سواء بيثون 2.7 و 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()
أعرف أن هذا هو السن بعد ، ولكن وجدت أنيقة جدا حل هذه المشكلة.
هناك مكتبة اسمها PyClip, التي يمكن العثور عليها في https://github.com/georgefs/pyclip-copycat.
جملة بسيطة جدا (على سبيل المثال من جيثب الريبو):
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 للحصول على النص
وإذا كنت ترغب فقط في وضع النص في الحافظة لجنة الهدنة العسكرية، يمكن استخدام الأمر pbcopy قذيفة ل.