python - 在 Python 中不导入(即剪贴板、Pyperclip)复制到操作系统剪贴板
问题描述
我需要想办法在不安装任何软件(即剪贴板、Pyperclip)的情况下将结果应用到系统剪贴板。
我已经搜索了很多关于 SO 的主题,但似乎所有解决方案都需要安装 Pyperclip 或其他第三方软件,是否可以创建一个系统脚本来复制到剪贴板而不使用这些?要求我没有运行我的程序所需的任何安装。
解决方案
如果你在 Windows 上,你可以使用这个只使用标准os
包的脚本
import os
text = 'abc'
command = 'echo ' + text.strip() + '| clip'
os.system(command)
如果您可以使用熊猫库:
import pandas as pd
df=pd.DataFrame(['Text to copy'])
df.to_clipboard(index=False,header=False)
在 Mac 上你可以使用这个脚本
import subprocess
process = subprocess.Popen(
'pbcopy', env={'LANG': 'en_US.UTF-8'}, stdin=subprocess.PIPE)
process.communicate('abc'.encode('utf-8'))
在linux上,这可能有效
from subprocess import Popen, PIPE
p = Popen(['xsel','-pi'], stdin=PIPE)
p.communicate(input='Hello, World')
最后,如果你不知道你在什么操作系统上,你可以用这样的代码找到
推荐阅读
- elasticsearch - 如何从 ELK 中的 geo_shape 中的 geo_points 生成饼图?
- apache-spark - 如何过滤元组rdd列表
- python - “for循环”输出不正确(总是使用“else”的参数)
- python - 参数的多个值
- html - 标签不显示在浏览器中
- reactjs - TypeScript Rest Props - 允许任何道具或告诉组件它们将成为哪些道具
- python - psycopg2 未连接到 CentOS8 上的 Postgres
- python - 安装 rioxarray 时出现 RuntimeError
- azure - Azure Active Directory - 用户的组声明不是最新的
- java - spring 有时会在控制器方法执行之前和之后做一些缓慢的过程吗?