python - xclip 没有从 pexpect 获取标准输入,或者 pexpect 没有发送?
问题描述
这个
import pexpect
def run(cmd, stdin):
child = pexpect.spawn(cmd, encoding='utf-8')
child.send(stdin)
child.sendeof()
run('xclip -selection clipboard', 'lol')
应该将字符串复制lol
到我的剪贴板中,以便我将它粘贴到Ctrl+周围v。
但是,相反,我得到了echo -n '' | xclip -selection clipboard
将空文件作为 STDIN 传递到xclip
.
为什么?
更新
这将打印lollxl
而不是仅打印lxl
:
import pexpect
def run(cmd, stdin):
child = pexpect.spawn(cmd, encoding='utf-8')
child.send(stdin)
child.sendeof()
child.sendeof()
x = child.read()
child.wait()
return x
x = run("sed --expression='s/o/x/g'", 'lol')
print(x)
解决方案
推荐阅读
- c# - Unity3D - 第三人称玩家在对角线方向的移动比垂直和水平移动慢?
- javascript - JS 正在更改二维数组值,可能是另一个函数干扰?
- javascript - 如何在node.js的同一个js文件中的两个post方法之间共享变量?
- python - 系统找不到使用子进程 Popen 指定的文件,仅适用于带有简单 bat 文件的桌面
- javascript - 这个 Lodash uniqBy 调用的 Ramda 等价物是什么?
- postgresql - 如何在 sql 查询中管理 NULL 字符串或日期(PostgreSQL)
- python - 循环打印多行(按预期)但只将一行写入文件
- r - 如何在每个图例的条形图中绘制百分比标签?
- python - Pandas - 使用前一列的聚合创建一个新列
- prolog - Prolog CLPFD 传递性