我只需要一个python脚本,复制文本到剪贴板。
脚本执行后,我需要文本的输出被粘贴到另一个源。 是否有可能编写一个python脚本来完成这项工作?
我只需要一个python脚本,复制文本到剪贴板。
脚本执行后,我需要文本的输出被粘贴到另一个源。 是否有可能编写一个python脚本来完成这项工作?
当前回答
要使用本机Python目录,请使用:
import subprocess
def copy2clip(txt):
cmd='echo '+txt.strip()+'|clip'
return subprocess.check_call(cmd, shell=True)
而在Mac上:
import subprocess
def copy2clip(txt):
cmd='echo '+txt.strip()+'|pbcopy'
return subprocess.check_call(cmd, shell=True)
然后使用:
copy2clip('This is on my clipboard!')
调用函数。
其他回答
要使用本机Python目录,请使用:
import subprocess
def copy2clip(txt):
cmd='echo '+txt.strip()+'|clip'
return subprocess.check_call(cmd, shell=True)
而在Mac上:
import subprocess
def copy2clip(txt):
cmd='echo '+txt.strip()+'|pbcopy'
return subprocess.check_call(cmd, shell=True)
然后使用:
copy2clip('This is on my clipboard!')
调用函数。
我尝试了这个剪贴板0.0.4,它工作得很好。
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
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()
看到Pyperclip。示例(摘自Pyperclip网站):
import pyperclip
pyperclip.copy('The text to be copied to the clipboard.')
spam = pyperclip.paste()
另外,请参阅施乐公司。但它似乎有更多的依赖性。
在macOS上,使用subprocess.run将你的文本管道到pbcopy:
import subprocess
data = "hello world"
subprocess.run("pbcopy", text=True, input=data)
它将“hello world”复制到剪贴板。