首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Python pyperclip无法复制解码

Python pyperclip无法复制解码
EN

Stack Overflow用户
提问于 2018-09-06 07:55:52
回答 2查看 806关注 0票数 0

我刚刚发现,由于某些原因,当使用pyperclip复制已解码的字符串(使用utf-8)时,会引发错误。

代码语言:javascript
复制
import pyperclip
with open('chat.txt' 'r') as f:
    string = f.read()
# the string is encoded in utf-8 in order to be able to write down `'`, `emoji` and other special signs or symbol
pyperclip.copy(string.decode('utf-8'))

它将引发此错误:PyperclipException: only str, int, float, and bool values can be copied to the clipboard, not unicode

我找到了一个使用str()的间接方法来解决它,但后来发现它不能工作,因为如果有像'这样的字符,str()就不能工作。

编辑:备用解决方案

除了我接受的解决方案之外,另一个解决方案是将pyperclip从最新版本(目前它的1.6.4)降级到较低版本(1.6.1对我有效)。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-09-06 08:18:54

您似乎遇到了一些使用非ASCII引号的问题。我建议你使用Python 3.7。下面是一个示例:

代码语言:javascript
复制
import pyperclip

with open('chat.txt', 'r') as f:
    string = f.read()
pyperclip.copy(string)

这是Python 2.7的替代方案:

代码语言:javascript
复制
import pyperclip
import sys
reload(sys)
sys.setdefaultencoding('utf8')

with open('chat.txt', 'r') as f:
    string = f.read()

pyperclip.copy(string)

警告:正如@lenz在评论中指出的那样,对于 .来说,使用是一种黑客行为,不被鼓励。

票数 0
EN

Stack Overflow用户

发布于 2018-09-24 15:59:59

此问题已在1.6.5中修复,因此您所要做的就是通过运行pip install -U pyperclip来更新pyperclip。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52194746

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档