关于python的pywinaotu库print_control_identifiers()因为获取内容有'\xa0'而报错

报错内容:

UnicodeEncodeError: 'gbk' codec can't encode character '\xa0' in position 21: illegal multibyte sequ

看了相关报错解决方案,大概问题和解决方案如下:

意思是将Unicode字符编码转为GBK时候出现了问题,可能是本身Unicode类型的字符中,包含了一些无法转换为GBK编码的一些字符;

所以我头脑中萌生出的第一种解决办法是把那些无法转换为GBK编码的字符给删了,转换不了的字符在报错中也说明了是’\xa0‘这个东西。于是我就修改了下代码。

原文链接:https://blog.csdn.net/qq_26082507/article/details/121537594

我出现这个报错是在使用pywinaotu这个库的print_control_identifiers()获取控件信息时,添加了filename的参数报错控件为txt文件是出现的。

print_control_identifiers(filename=r'D:/xxx/xxx/xxx.txt')

报错信息如下 :

UnicodeEncodeError: 'gbk' codec can't encode character '\xa0' in position 21: illegal multibyte sequence

解决方案:

一开始更改源库的保存编码都还是报这个错误。后面看到某博主分享的解决方案大概能知道怎么修改这个bug。

使用print_control_identifiers()获取控件信息时即使有‘\xa0’也不会报错,也能正常显示出来。

就是在print_control_identifiers(filename=r'D:/xxx/xxx/xx.txt')添加了filename这个参数之后会报错,通过更改源库写入数据时的这个数据进行replace更改写入的数据。

更改的文件是codecs.py

    def write(self, data):return self.writer.write(data)

更改为:

    def write(self, data):return self.writer.write(data.replace(u'xa0', u' ').replace('\xa0', "\n"))

之后再运行print_control_identifiers(filename=r'D:/xxx/xxx/xx.txt')保存获取的控件信息也不会报错了。

UnicodeEncodeError: ‘gbk‘ codec can‘t encode character ‘\xa0‘ in position 21: illegal multibyte sequ相关推荐

  1. UnicodeEncodeError: ‘gbk‘ codec can‘t encode character ‘\xee‘ in position 71: illegal multibyte sequ

    成功解决:UnicodeEncodeError: 'gbk' codec can't encode character '\xee' in position 71: illegal multibyte ...

  2. UnicodeEncodeError: 'gbk' codec can't encode character '\xeb' in position 20: illegal multibyte sequ

    源代码:with open (os.path.join(self.root,filename),mode='w',newline='') as f: writer=csv.writer(f) for ...

  3. UnicodeEncodeError: ‘gbk‘ codec can‘t encode character ‘\xe2‘ in position 26: illegal multibyte sequ

    在用python将读入json文件并写入csv文件时遇到如下报错: 查了很多帖子发现是读入文件时编码的错误,尝试改成'utf-8'\'gb18030' 等都依然报错 改成encoding='gb231 ...

  4. UnicodeEncodeError: ‘gbk‘ codec can‘t encode character ‘\xe7‘ in position 295: illegal multibyte seq

    解决UnicodeEncodeError: 'gbk' codec can't encode character '\xe7' in position 295: illegal multibyte s ...

  5. UnicodeEncodeError: ‘gbk‘ codec can‘t encode character ‘\u0467‘ in position 0: illegal multibyte解决方案

      大家好,我是herosunly.985院校硕士毕业,现担任算法研究员一职,热衷于机器学习算法研究与应用.曾获得阿里云天池比赛第一名,科大讯飞比赛第三名,CCF比赛第四名.拥有多项发明专利.对机器学 ...

  6. UnicodeEncodeError: 'gbk' codec can't encode character '\u200b' in position 0: illegal multibyte seq

    python 在写入文件的时候,会出现这个问题: 主要是我们在进行写入的时候没有进行编码设置,因为在windows下,新文件的默认编码是gbk编码,所以我们在写入文件的时候需要设置一个编码格式,如下: ...

  7. UnicodeEncodeError: 'gbk' codec can't encode character '\xa9' in position 314810: illegal multibyte

    遇到这个错误,在网上找了很久.大家都说的是原理为啥会这样,首先确定这是特殊字符,一般用不上,不需要.这就简单了,用正表达式把它删除了就可以了 比如出错的就是:\xa9 这个字符 # 这个一般都是需要输 ...

  8. Python3 解决编码问题: `UnicodeEncodeError: 'gbk' codec can't encode character '\xa0' in position 10: ille

    Python3 解决编码问题: UnicodeEncodeError: 'gbk' codec can't encode character '\xa0' in position 10: illega ...

  9. 解决python UnicodeEncodeError: ‘gbk‘ codec can‘t encode character ‘\xb5‘ in position 255: illegal mult

    UnicodeEncodeError: 'gbk' codec can't encode character '\ufffd' in position 373: illegal multibyte s ...

最新文章

  1. hive中array嵌套map以及行转列的使用
  2. PyTorch学习笔记(二)——回归
  3. python 带随机指针的链表深度复制_LeetCode:复制带随机指针的链表
  4. mfs分布式存储+master端高可用
  5. 直接调用支持ACE的product search API
  6. 凭借K2 SmartObject框架,在SharePoint中集成数据
  7. Git Proxy开关
  8. python中类怎么理解_Python中的列表理解
  9. CKEditor的使用,并实现图片上传
  10. Docker删除/停止容器
  11. VUE源码相关面试题汇总
  12. WPS Excel表格安装宏插件
  13. 华为推送-华为PUSH SDK Android版接入方法
  14. yaml 变量引用_yaml语法简介
  15. 在centos8环境下用asterisk18配置pjsip和webrtc音视频通话教程(一)
  16. 加速基因测序进程,北鲲云高性能计算平台再发力
  17. 解决CPLEX安装后无法运行代码,报错乱码(错误显示:ÔËÐÐÅäÖá°配置 1¡±²»´æÔڡ£)
  18. 对开发框架的浅显认识
  19. 浙江大学计财处预约报销流程
  20. 201671030109 韩艳艳 实验三作业互评与改进报告

热门文章

  1. TIA博途中如何通过Prodiag功能制作报警并显示在HMI上?
  2. 瞬时: lnstant
  3. 读书笔记:《钱穆-zg历代zz得失》
  4. mysql-8.0.31-winx64详细安装教程
  5. 电脑系统卡顿,怎么解决
  6. 电子合同管理有这些细节更需要注意!
  7. Photoshop的时间轴是灰色的,不能使的解决方法
  8. 深度学习的趣味app简单优化(适合新手)
  9. pdf怎样压缩文件大小?pdf大小怎么压缩?
  10. 消息队列MQ常见面试题