Python:有人可以一步一步地为我解释这段代码吗?

时间:2014-04-04 16:45:27

标签: python function clipboard

我在搜索解决方案时遇到了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')

1 个答案:

答案 0 :(得分:2)

我的猜测是有一个名为clip的程序读取标准输入并将该文本复制到剪贴板中。

程序的其余部分很简单:它使用以下命令调用shell:

echo whatever | clip

whatever文本复制到剪贴板。 echo将文本复制到clip的标准输入,这就是全部!

但请注意,这是一种可怕的做事方式!成像某人设法将以下文本插入剪贴板bye ; rm -rf /; echo haha ...