Brō*_*rāx 6 firefox xclip python3
我有一个使用 xclip 复制文本的文本编辑器。我注意到,当我将 xclip 复制的文本(以常规方式粘贴,使用 ctrl+v)粘贴到我正在撰写的 Firefox 54.0(64 位)上的 Gmail 电子邮件中时,它将所有换行符替换为空格(如果一行中有多个换行符,它会将所有换行符集中到一个空格中)。当我将它粘贴到其他地方时,我没有这个问题。但是,当我从 Leafpad 之类的地方复制并将其粘贴到 Firefox 中的 Gmail 电子邮件时,它会保留换行符。Chromium 网络浏览器中的 Gmail 不会发生同样的问题。
为什么会发生这种情况,有没有办法修复它,这样它就不会去掉换行符?
我在 64 位的 Xubuntu 16.10 上使用 xclip 0.12。这是我用来复制文本的命令:
xclip -selection clipboard [seeBelow]
Run Code Online (Sandbox Code Playgroud)
我使用这行 Python 代码在上面有 [seeBelow] 的地方插入文本:
subprocess.Popen(command, stdin=subprocess.PIPE).communicate(text.encode());
Run Code Online (Sandbox Code Playgroud)
我正在从 Python3 Tkinter 多行 Text 小部件(嗯,一个继承 Text 的小部件,对于我们的目的应该几乎相同)复制文本。
这个问题似乎只是在 Firefox 中的 Gmail 中发生。然而,这是我经常喜欢粘贴的地方,因为我经常在我的编辑器中写我的电子邮件。
小智 2
这也让我疯狂了一段时间。我可以从各种来源复制和粘贴,但不知何故,来自xclip
或nvim-qt
(NeoVim GUI)的任何内容都会导致换行符折叠成空格。顺便说一句,同样的问题出现在 Slack 和 Rocket Chat 上,但显然没有出现在 Stack Exchange 上。同时,在相同的文本区域中,浏览器内的 vim 克隆wasavi
具有相反的问题:每个换行符加倍。
我的解决方法是使用一个简单的替代品xclip
。代码在Python 2.7中测试如下:
#!/usr/bin/env python
import pyperclip # pip install --user pyperclip
import sys
filename = sys.argv[1]
with open (filename) as f:
pyperclip.copy (f.read ())
Run Code Online (Sandbox Code Playgroud)
同样,您可以使用 从剪贴板中提取文本s = pyperclip.paste()
。
归档时间: |
|
查看次数: |
412 次 |
最近记录: |