2010-11-29 15 views
14

मैं एक फ़ंक्शन लिखने की कोशिश कर रहा हूं जो क्लिपबोर्ड पर एक स्ट्रिंग पैरामीटर कॉपी करता है। मैं इसे एक पायथन लिपि में उपयोग करना चाहता हूं जिसे मैं काम कर रहा हूं।क्लिपबोर्ड पर टेक्स्ट कॉपी करने के लिए प्लेटफार्म स्वतंत्र उपकरण

from tkinter import Tk 

    def copy_to_clipboard(text): 
     text = str(text) 
     r = Tk() 
     r.withdraw() 
     r.clipboard_clear() 
     r.clipboard_append(text) 
     r.destroy() 

मेरे समस्या जब स्क्रिप्ट बंद हो जाता है, प्रतिलिपि बनाए गए पाठ क्लिपबोर्ड पर नहीं रह गया है कि है: यह है कि मैं क्या (एक और ढेर अतिप्रवाह पोस्ट पर सबसे इस स्निपेट मिला है) अब तक है।

क्या कोई संभावित विकल्प है या इस पर ठीक है?

क्या मेरी समस्या का कोई अच्छा मंच स्वतंत्र समाधान है? या मुझे यह जांचना होगा कि उपयोगकर्ता किस ओएस पर है और वहां से आगे बढ़ना है?

+0

निकालें r.destroy(): पी –

+0

मुझे लगता है कि पहले से ही प्रयास किया है और एक ही समस्या बनी रहती है। हालांकि धन्यवाद। – aonbyte

उत्तर

11

आप के लिए एक हाँ, वहाँ है :)

उपयोग pyperclip

+0

अच्छा लग रहा है। बहुत बहुत धन्यवाद =) – aonbyte

+0

बहुत अच्छा, आपको पहले xclip इंस्टॉल करने की आवश्यकता है। – qed

4

मुझे लगता है कि आप लिनक्स पर जीनोम के साथ चल रहे हैं।

जीनोम पर यह सामान्य व्यवहार है, जैसे ही कॉपी का स्रोत गायब हो जाता है उदा। आपके द्वारा कॉपी की गई ब्राउज़र विंडो को बंद करना, क्लिपबोर्ड डेटा भी हटा दिया जाता है। वर्कअराउंड gnome-clipboard-daemon स्थापित करना है जो क्लिपबोर्ड राज्य जैसे विंडोज और केडीई को सुरक्षित रखेगा।

तो, स्क्रिप्ट चलाने के अलावा, जीनोम के तहत चलते समय आप ऐसा नहीं कर सकते हैं।

+0

लेकिन यह gnome-clipboard-daemon की निर्भरता (किसी प्रकार का) जोड़ देगा, है ना? – Sparragus

+0

@Sparragus हां, डिमन को पृष्ठभूमि में चलाना है। –

+0

मैं उबंटू 12.04 का उपयोग करता हूं, भंडार में ऐसी कोई चीज़ नहीं है। – qed

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^