يمكن أن الثعبان إرسال النص إلى الحافظة ماك

StackOverflow https://stackoverflow.com/questions/1825692

  •  22-07-2019
  •  | 
  •  

سؤال

أحب برنامج بيثون لوضع بعض النص في ماك الحافظة.

هل هذا ممكن ؟

هل كانت مفيدة؟

المحلول

إجابة جديدة:

هذه الصفحة يشير إلى:

تنفيذ جميع نظام التشغيل 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 قذيفة ل.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top