在 Python 中复制到 OS 剪贴板而不导入(即剪贴板、Pyperclip)

Copying to OS Clipboard without importing (i.e. Clipboard, Pyperclip) in Python

我需要想办法在不安装任何软件(即剪贴板、Pyperclip)的情况下将结果应用到系统剪贴板。

我在 S.O 上搜索了很多主题。但似乎所有的解决方案都需要安装 Pyperclip 或其他第三方软件,是否可以创建一个系统脚本来复制到剪贴板而不使用这些?这是一项要求,我没有 运行 我的程序所需的任何安装。

如果您使用的是 Windows,则可以使用仅使用标准 os 程序包的此脚本

import os
text = 'abc'
command = 'echo ' + text.strip() + '| clip'
os.system(command)

my source


如果你可以使用 pandas 库:

import pandas as pd
df=pd.DataFrame(['Text to copy'])
df.to_clipboard(index=False,header=False)

my source


在 mac 上你可以使用这个脚本

import subprocess
process = subprocess.Popen(
    'pbcopy', env={'LANG': 'en_US.UTF-8'}, stdin=subprocess.PIPE)
process.communicate('abc'.encode('utf-8'))

my source


在 linux 上,这可能有效

from subprocess import Popen, PIPE
p = Popen(['xsel','-pi'], stdin=PIPE)
p.communicate(input='Hello, World')

my source


最后,如果您不知道自己使用的是什么操作系统,可以通过 code like this

查找

如果您正在使用 WSL 或 windows,您还可以使用

import subprocess

txt = "Copy to clipboard!"
subprocess.run(['clip.exe'], input=txt.strip().encode('utf-8'), check=True)