我是靠谱客的博主 壮观微笑,最近开发中收集的这篇文章主要介绍python decode ignore_我可以解码(errors =“ignore”)Python 2.7程序中所有字符串的默认值吗?...,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

您无法在内置类型上重新定义方法,也无法将errors参数的默认值更改为str.decode().但是,还有其他方法可以实现所需的行为.

更好的方法:定义自己的decode()函数:

def decode(s, encoding="ascii", errors="ignore"):

return s.decode(encoding=encoding, errors=errors)

现在,您将需要调用decode(s)而不是s.decode(),但这不是太糟糕,不是吗?

hack:你不能改变errors参数的默认值,但你可以覆盖默认错误=“strict”的处理程序:

import codecs

def strict_handler(exception):

return u"", exception.end

codecs.register_error("strict", strict_handler)

这将基本上将errors =“strict”的行为更改为标准的“忽略”行为.请注意,这将是一个全局更改,会影响您导入的所有模块.

我建议不要这两种方式.真正的解决方案是让你的编码正确. (我很清楚这并不总是可行的.)

最后

以上就是壮观微笑为你收集整理的python decode ignore_我可以解码(errors =“ignore”)Python 2.7程序中所有字符串的默认值吗?...的全部内容,希望文章能够帮你解决python decode ignore_我可以解码(errors =“ignore”)Python 2.7程序中所有字符串的默认值吗?...所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(69)

评论列表共有 0 条评论

立即
投稿
返回
顶部