【Python & Other】一网打尽 Python复制文本&文件到剪切板

本文介绍了如何在Windows系统中使用Python进行文件和文本的复制到剪切板操作。通过Windows命令行和Python的os模块,以及第三方库pyperclip和xclip,详细讲解了多种复制文本到剪切板的方法。对于复制文件,文章提到了xclip工具和PowerShell命令,并提供了详细的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

在使用uiautomation操作微信发送信息时候,难点在于发送文件。发送文件,靠的是复制到剪切板,然后再从剪切板粘贴发送。
本文吧啦一下在Windows系统中关于Python复制文件到剪切板的操作。

花了挺多时间,但是不管怎么找,始终都找不着Python复制文件到剪切板的方法。
于是另辟蹊径,从Windows系统上下手,然后再利用Python去调用Windows系统的命令,曲线救国,从而达到Python复制我呢见到剪切板的方法。
多动一下自己那个🐷脑袋,问题总是可以解决的🐱‍🏍🐱‍🏍

知识点📖📖

文中用到的命令都可以在 https://docs.microsoft.com/zh-cn/ 找到相应的解释,有疑问请找它,不要来问我!!!

复制文本

  • cmd窗口:echo text | clip
  • Python模块:pyperclip

复制文件

  • 借助工具 xclip:echo file_path | xclip /copy
  • 借助PowerShell命令:Get-Item file_path | Set-Clipboard

实现

复制文本

这里介绍两种方法

  • Windows系统命令
  • Python模块pyperclip

Windows系统命令

在Windows系统中,cmd窗口输入以下命令可以将text文本复制到剪切板

echo text | clip

在Python中,可以使用os模块来执行cmd命令

  • text替换成需要复制到剪切板的文本即可
import os
os.system('echo text | clip')

pyperclip

在Python中,有模块是支持复制文本到剪切版的

pip install pyperclip

使用的话,也是很简单

import pyperclip

# 复制文本到剪切板
pyperclip.copy('The text to be copied to the clipboard.')

# 获取剪切板的文本
text = pyperclip.paste()
print(text)	# 'The text to be copied to the clipboard.'


复制文件

!!!可以很负责任地说,别处找不着这么好且这么多的方法~
!!!可以很负责任地说,别处找不着这么好且这么多的方法~
!!!可以很负责任地说,别处找不着这么好且这么多的方法~

这里介绍几种方法,

  • xclip工具
  • PowerShell命令二则

xclip工具

这个方法一次只能复制一个文件到剪切板

首先,点击这里 下载xclip工具

然后,将它添加到系统环境变量(可选操作,可不添加。

示例如下

当前文件夹中有一份 demo.txt文件,现在需要将它复制到剪切板
在当前文件夹地址栏输入cmd(其它方式也行
然后输入

echo demo.txt | xclip /copy

以上,就可以将文件复制到剪切板了~~

使用Python的os模块去调用如下:

import os
os.system('echo demo.txt | xclip /copy')

PowerShell命令二则

这个方法一次只能复制一个文件到剪切板
这个虽然是PowerShell的命令,但却是使用cmd窗口去执行的。

第一则

代码如下:

set "file=你的文件全路径"

powershell -sta "$sc=New-Object System.Collections.Specialized.StringCollection;$sc.Add('%file%');Add-Type -Assembly 'System.Windows.Forms';[System.Windows.Forms.Clipboard]::SetFileDropList($sc);"

在cmd窗口中输入以上代码,即可将你指定的文件复制到剪切版了。
将它改写成 .bat可执行 文件,如下

demo.bat

@ECHO OFF
set file=%1
powershell -sta "$sc=New-Object System.Collections.Specialized.StringCollection;$sc.Add('%file%');Add-Type -Assembly 'System.Windows.Forms';[System.Windows.Forms.Clipboard]::SetFileDropList($sc);"

代码释义:
第一行:.bat可执行文件默认写法
第二行:%1 为接收外部的第一个传参,接收文件的路径
第三行:复制文件到剪切板

然后再使用 Python去调用它

import os

os.system('demo.bat 文件的绝对路径')

以上,即可将文件复制到剪切板了。


第二则

这个方法一次可复制多个文件到剪切板,建议用这个方法!!!

这里借助的是PowerShell,所以需要打开PowerShell 去执行。

如下图:

执行的命令如下:

复制单个文件到剪切板

Get-Item demo.txt | Set-Clipboard

复制多个文件到剪切板(用逗号隔开

Get-Item demo.txt,demo2.txt | Set-Clipboard

使用Python调用,如下

import subprocess

args = ['powershell', 'Get-Item 文件路径,文件路径,... | Set-Clipboard']
subprocess.Popen(args=args)

后话

本文介绍到此,
see you.🎈🎈

你可以使用Python的os模块或subprocess模块来调用外部命令实现文件复制剪切板操作。如果你希望在Python复制文件剪切板,可以使用以下方法: 1. 使用os模块调用Windows系统命令:你可以使用os.system()函数来调用Windows系统的命令行工具。比如,你可以使用以下代码将文件复制剪切板上: ```python import os os.system('clip < 文件路径') ``` 2. 使用subprocess模块调用Powershell命令:你可以使用subprocess模块来调用Windows系统的Powershell命令。以下是使用subprocess模块将文件复制剪切板的示例代码: ```python import subprocess args = ['powershell', 'Set-Clipboard -Path "文件路径"'] subprocess.Popen(args=args) ``` 请将上述代码中的"文件路径"替换为你要复制文件的实际路径。这样就可以使用Python实现文件复制剪切板的功能了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [【Python & Other一网打尽 Python复制文本&文件剪切板](https://blog.csdn.net/weixin_45081575/article/details/126810748)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

是小菜欸

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值