Hướng dẫn can you copy to clipboard in python? - bạn có thể sao chép vào khay nhớ tạm trong python không?

Tôi chỉ cần một tập lệnh Python sao chép văn bản vào bảng tạm.

Sau khi tập lệnh được thực thi, tôi cần đầu ra của văn bản được dán vào một nguồn khác. Có thể viết một kịch bản Python làm công việc này không?

Hướng dẫn can you copy to clipboard in python? - bạn có thể sao chép vào khay nhớ tạm trong python không?

hỏi ngày 16 tháng 6 năm 2012 lúc 12:32Jun 16, 2012 at 12:32

3

Xem pyperclip. Ví dụ (lấy từ trang web pyperclip):

import pyperclip
pyperclip.copy('The text to be copied to the clipboard.')
spam = pyperclip.paste()

Ngoài ra, xem Xerox. Nhưng nó dường như có nhiều phụ thuộc hơn.

Hướng dẫn can you copy to clipboard in python? - bạn có thể sao chép vào khay nhớ tạm trong python không?

Vauhochzett

1.9961 Huy hiệu vàng15 Huy hiệu bạc32 Huy hiệu đồng1 gold badge15 silver badges32 bronze badges

Đã trả lời ngày 16 tháng 6 năm 2012 lúc 12:35Jun 16, 2012 at 12:35

Robertrobertrobert

31.9k8 Huy hiệu vàng52 Huy hiệu bạc72 Huy hiệu đồng8 gold badges52 silver badges72 bronze badges

4

Trên macOS, sử dụng

import subprocess 
data = "hello world"
subprocess.run("pbcopy", universal_newlines=True, input=data)
0 để gửi văn bản của bạn thành
import subprocess 
data = "hello world"
subprocess.run("pbcopy", universal_newlines=True, input=data)
1:

import subprocess 
data = "hello world"
subprocess.run("pbcopy", universal_newlines=True, input=data)

Nó sẽ sao chép "Hello World" vào bảng tạm.

Đã trả lời ngày 28 tháng 6 năm 2013 lúc 18:27Jun 28, 2013 at 18:27

Hướng dẫn can you copy to clipboard in python? - bạn có thể sao chép vào khay nhớ tạm trong python không?

Kyle Kkyle kkyle k

4.7348 Huy hiệu vàng30 Huy hiệu bạc45 Huy hiệu Đồng8 gold badges30 silver badges45 bronze badges

5

Để sử dụng các thư mục Python bản địa, hãy sử dụng:

import subprocess

def copy2clip(txt):
    cmd='echo '+txt.strip()+'|clip'
    return subprocess.check_call(cmd, shell=True)

trên Mac, thay vào đó:

import subprocess

def copy2clip(txt):
    cmd='echo '+txt.strip()+'|pbcopy'
    return subprocess.check_call(cmd, shell=True)

Sau đó sử dụng:

copy2clip('This is on my clipboard!')

để gọi chức năng.

Đã trả lời ngày 8 tháng 12 năm 2016 lúc 0:47Dec 8, 2016 at 0:47

BinyaminbinyaminBinyamin

5596 Huy hiệu bạc17 Huy hiệu đồng6 silver badges17 bronze badges

8

PyQt5:

from PyQt5.QtWidgets import QApplication
import sys

def main():
    app = QApplication(sys.argv)
    cb = QApplication.clipboard()
    cb.clear(mode=cb.Clipboard )
    cb.setText("Copy to ClipBoard", mode=cb.Clipboard)
    # Text is now already in the clipboard, no need for further actions.
    sys.exit()

if __name__ == "__main__":
    main()

Đã trả lời ngày 9 tháng 11 năm 2015 lúc 11:00Nov 9, 2015 at 11:00

AkshayakshayAkshay

4356 Huy hiệu bạc15 Huy hiệu Đồng6 silver badges15 bronze badges

2

GTK3:

#!/usr/bin/python3

from gi.repository import Gtk, Gdk


class Hello(Gtk.Window):

    def __init__(self):
        super(Hello, self).__init__()
        clipboard = Gtk.Clipboard.get(Gdk.SELECTION_CLIPBOARD)
        clipboard.set_text("hello world", -1)
        Gtk.main_quit()


def main():
    Hello()
    Gtk.main()

if __name__ == "__main__":
    main()

Đã trả lời ngày 25 tháng 2 năm 2015 lúc 15:29Feb 25, 2015 at 15:29

Martin Thomamartin ThomaMartin Thoma

113K148 Huy hiệu vàng572 Huy hiệu bạc876 Huy hiệu đồng148 gold badges572 silver badges876 bronze badges

1

Thêm một câu trả lời để cải thiện: https://stackoverflow.com/a/4203897/2804197 và https://stackoverflow.com/a/25476462/1338797 (tkinter).

Tkinter là tốt, bởi vì nó được bao gồm trong Python (Windows) hoặc dễ cài đặt (Linux) và do đó đòi hỏi rất ít sự phụ thuộc cho người dùng cuối.

Ở đây tôi có một ví dụ "toàn diện", sao chép các đối số hoặc đầu vào tiêu chuẩn, vào bảng tạm và - khi không trên Windows - chờ người dùng đóng ứng dụng:

import sys

try:
    from Tkinter import Tk
except ImportError:
    # welcome to Python3
    from tkinter import Tk
    raw_input = input

r = Tk()
r.withdraw()
r.clipboard_clear()

if len(sys.argv) < 2:
    data = sys.stdin.read()
else:
    data = ' '.join(sys.argv[1:])

r.clipboard_append(data)

if sys.platform != 'win32':
    if len(sys.argv) > 1:
        raw_input('Data was copied into clipboard. Paste and press ENTER to exit...')
    else:
        # stdin already read; use GUI to exit
        print('Data was copied into clipboard. Paste, then close popup to exit...')
        r.deiconify()
        r.mainloop()
else:
    r.destroy()

Điều này giới thiệu:

  • Nhập TK trên PY2 và PY3
  • import subprocess 
    data = "hello world"
    subprocess.run("pbcopy", universal_newlines=True, input=data)
    
    2 và
    import subprocess 
    data = "hello world"
    subprocess.run("pbcopy", universal_newlines=True, input=data)
    
    3 Khả năng tương thích
  • cửa sổ rễ "usingingiding" tk khi cần
  • Chờ đợi lối ra trên Linux theo hai cách khác nhau.

Đã trả lời ngày 4 tháng 11 năm 2015 lúc 13:35Nov 4, 2015 at 13:35

Tomasz Gandortomasz GandorTomasz Gandor

7.5152 Huy hiệu vàng56 Huy hiệu bạc51 Huy hiệu Đồng2 gold badges56 silver badges51 bronze badges

3

Tôi thử clipboard này 0,0.4 và nó hoạt động tốt.

https://pypi.python.org/pypi/clipboard/0.0.4

import clipboard
clipboard.copy("abc")  # now the clipboard content will be string "abc"
text = clipboard.paste()  # text will have the content of clipboard

Đã trả lời ngày 28 tháng 6 năm 2016 lúc 6:34Jun 28, 2016 at 6:34

Du Pengdu PengDu Peng

3232 Huy hiệu bạc3 Huy hiệu Đồng2 silver badges3 bronze badges

2

Đây là phiên bản thay đổi của câu trả lời của @martin Thoma cho GTK3. Tôi thấy rằng giải pháp ban đầu dẫn đến quá trình không bao giờ kết thúc và thiết bị đầu cuối của tôi được treo khi tôi gọi kịch bản. Thay đổi kịch bản thành phần sau đã giải quyết vấn đề cho tôi.GTK3. I found that the original solution resulted in the process never ending and my terminal hung when I called the script. Changing the script to the following resolved the issue for me.

#!/usr/bin/python3

from gi.repository import Gtk, Gdk
import sys
from time import sleep

class Hello(Gtk.Window):

    def __init__(self):
        super(Hello, self).__init__()
        
        clipboardText = sys.argv[1]
        clipboard = Gtk.Clipboard.get(Gdk.SELECTION_CLIPBOARD)
        clipboard.set_text(clipboardText, -1)
        clipboard.store()


def main():
    Hello()
    
    

if __name__ == "__main__":
    main()

Bạn có thể sẽ muốn thay đổi bảng điều chỉnh nào được gán cho, trong tập lệnh này, nó được gán cho tham số mà tập lệnh được gọi với.

Trên cài đặt mới của Ubuntu 16.04, tôi thấy rằng tôi phải cài đặt gói

import subprocess 
data = "hello world"
subprocess.run("pbcopy", universal_newlines=True, input=data)
4 để nó hoạt động mà không có lỗi nhập mô -đun.

Hướng dẫn can you copy to clipboard in python? - bạn có thể sao chép vào khay nhớ tạm trong python không?

Tế bào thần kinh

4.5844 Huy hiệu vàng32 Huy hiệu bạc53 Huy hiệu Đồng4 gold badges32 silver badges53 bronze badges

Đã trả lời ngày 25 tháng 4 năm 2016 lúc 11:34Apr 25, 2016 at 11:34

Hướng dẫn can you copy to clipboard in python? - bạn có thể sao chép vào khay nhớ tạm trong python không?

Chương trìnhProgrogramsterProgramster

Huy hiệu vàng 11,9k88 gold badges46 silver badges54 bronze badges

Làm thế nào để bạn sao chép một cái gì đó vào bảng tạm trong Python?

Cách sao chép văn bản vào bảng tạm trong Python..
nhập pyperclip ..
S1 = "Hello World".
pyperclip.Sao chép (S1).
S2 = pyperclip.dán().
print(s2).

Chúng ta có thể sao chép dán trong Python không?

Để sao chép văn bản, chỉ cần chọn nó và nhấn Ctrl-C (Command-C trên Mac).Nếu điểm nổi bật đánh dấu lựa chọn biến mất, điều đó là bình thường và nó có nghĩa là nó đã hoạt động.Để dán, sử dụng Ctrl-V (Command-V trên máy Mac).To paste, use Ctrl-V (Command-V on a Mac).

Làm thế nào để bạn sao chép dữ liệu trong Python?

Các bước để sao chép một tập tin trong Python..
Tìm đường dẫn của một tập tin.Chúng ta có thể sao chép một tệp bằng cả đường dẫn tương đối và đường dẫn tuyệt đối.....
Sử dụng hàm SOWL.Copy ().....
Sử dụng hàm Os.ListDir () và SOWLIL COPY () để sao chép tất cả các tệp.....
Sử dụng hàm copytree () để sao chép toàn bộ thư mục ..

Paperclip trong Python là gì?

PyperClip là một mô-đun Python đa nền tảng cho các chức năng clipboard sao chép và dán.Nó hoạt động với Python 2 và 3. Cài đặt trên Windows: PIP Cài đặt pyperclip.Cài đặt trên Linux/MacOS: Cài đặt pyperclip PIP3.Al Sweigart al@InventWithPython.a cross-platform Python module for copy and paste clipboard functions. It works with Python 2 and 3. Install on Windows: pip install pyperclip. Install on Linux/macOS: pip3 install pyperclip. Al Sweigart al@inventwithpython.