我在搜索解决方案时遇到了this code。不幸的是,我的代表不够高,无法评论,所以我已经开始提出问题寻求帮助。
以下代码完美运行,完全符合我的需要。我遇到的问题是除了2个明显的def函数和调用函数之外,我不确定它在做什么。它似乎为复制的字符串添加了"\n"
换行符,因为当我粘贴它时会执行一个新行,所以我想将其删除。提前谢谢。
#import subprocess - ok
import subprocess
#define a function called copy2clip which takes 1 argument, txt.
def copy2clip(txt):
#Call CMD and echo (txt) to the clip program (which is not a python program)
cmd='echo '+txt.strip()+'|clip'
#Check that the CMD program ran ok
return subprocess.check_call(cmd, shell=True)
#call our function and pass it this string....
copy2clip('now this is on my clipboard')
答案 0 :(得分:2)
我的猜测是有一个名为clip
的程序读取标准输入并将该文本复制到剪贴板中。
程序的其余部分很简单:它使用以下命令调用shell:
echo whatever | clip
将whatever
文本复制到剪贴板。 echo
将文本复制到clip
的标准输入,这就是全部!
但请注意,这是一种可怕的做事方式!成像某人设法将以下文本插入剪贴板:bye ; rm -rf /; echo haha
...