python codecs_Python codecs.register方法代码示例

本文整理汇总了Python中codecs.register方法的典型用法代码示例。如果您正苦于以下问题:Python codecs.register方法的具体用法?Python codecs.register怎么用?Python codecs.register使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在模块codecs的用法示例。

在下文中一共展示了codecs.register方法的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。

示例1: decode

​点赞 6

# 需要导入模块: import codecs [as 别名]

# 或者: from codecs import register [as 别名]

def decode(input, fallback_encoding, errors='replace'):

"""

Decode a single string.

:param input: A byte string

:param fallback_encoding:

An :class:`Encoding` object or a label string.

The encoding to use if :obj:`input` does note have a BOM.

:param errors: Type of error handling. See :func:`codecs.register`.

:raises: :exc:`~exceptions.LookupError` for an unknown encoding label.

:return:

A ``(output, encoding)`` tuple of an Unicode string

and an :obj:`Encoding`.

"""

# Fail early if `encoding` is an invalid label.

fallback_encoding = _get_encoding(fallback_encoding)

bom_encoding, input = _detect_bom(input)

encoding = bom_encoding or fallback_encoding

return encoding.codec_info.decode(input, errors)[0], encoding

开发者ID:Frank-qlu,项目名称:recruit,代码行数:22,

示例2: test_all

​点赞 6

# 需要导入模块: import codecs [as 别名]

# 或者: from codecs import register [as 别名]

def test_all(self):

api = (

"encode", "decode",

"register", "CodecInfo", "Codec", "IncrementalEncoder",

"IncrementalDecoder", "StreamReader", "StreamWriter", "lookup",

"getencoder", "getdecoder", "getincrementalencoder",

"getincrementaldecoder", "getreader", "getwriter",

"register_error", "lookup_error",

"strict_errors", "replace_errors", "ignore_errors",

"xmlcharrefreplace_errors", "backslashreplace_errors",

"open", "EncodedFile",

"iterencode", "iterdecode",

"BOM", "BOM_BE", "BOM_LE",

"BOM_UTF8", "BOM_UTF16", "BOM_UTF16_BE", "BOM_UTF16_LE",

"BOM_UTF32", "BOM_UTF32_BE", "BOM_UTF32_LE",

"BOM32_BE", "BOM32_LE", "BOM64_BE", "BOM64_LE", # Undocumented

"StreamReaderWriter", "StreamRecoder",

)

self.assertEqual(sorted(api), sorted(codecs.__all__))

for api in codecs.__all__:

getattr(codecs, api)

开发者ID:IronLanguages,项目名称:ironpython2,代码行数:23,

示例3: test_register

​点赞 6

# 需要导入模块: import codecs [as 别名]

# 或者: from codecs import register [as 别名]

def test_register(self):

'''

TODO: test that functions passed in are actually used

'''

#sanity check - basically just ensure that functions can be registered

def garbage_func0(): pass

def garbage_func1(param1): pass

codecs.register(garbage_func0)

codecs.register(garbage_func1)

#negative cases

self.assertRaises(TypeError, codecs.register)

self.assertRaises(TypeError, codecs.register, None)

self.assertRaises(TypeError, codecs.register, ())

self.assertRaises(TypeError, codecs.register, [])

self.assertRaises(TypeError, codecs.register, 1)

self.assertRaises(TypeError, codecs.register, "abc")

self.assertRaises(TypeError, codecs.register, 3.14)

开发者ID:IronLanguages,项目名称:ironpython2,代码行数:20,

示例4: test_codecs_lookup

​点赞 6

# 需要导入模块: import codecs [as 别名]

# 或者: from codecs import register [as 别名]

def test_codecs_lookup(self):

l = []

def my_func(encoding, cache = l):

l.append(encoding)

codecs.register(my_func)

allchars = ''.join([chr(i) for i in xrange(1, 256)])

try:

codecs.lookup(allchars)

self.assertUnreachable()

except LookupError:

pass

lowerchars = allchars.lower().replace(' ', '-')

for i in xrange(1, 255):

if l[0][i] != lowerchars[i]:

self.assertTrue(False, 'bad chars at index %d: %r %r' % (i, l[0][i], lowerchars[i]))

self.assertRaises(TypeError, codecs.lookup, '\0')

self.assertRaises(TypeError, codecs.lookup, 'abc\0')

self.assertEqual(len(l), 1)

开发者ID:IronLanguages,项目名称:ironpython2,代码行数:23,

示例5: teletex_search_function

​点赞 6

# 需要导入模块: import codecs [as 别名]

# 或者: from codecs import register [as 别名]

def teletex_search_function(name):

"""

Search function for teletex codec that is passed to codecs.register()

"""

if name != 'teletex':

return None

return codecs.CodecInfo(

name='teletex',

encode=TeletexCodec().encode,

decode=TeletexCodec().decode,

incrementalencoder=TeletexIncrementalEncoder,

incrementaldecoder=TeletexIncrementalDecoder,

streamreader=TeletexStreamReader,

streamwriter=TeletexStreamWriter,

)

开发者ID:reBiocoder,项目名称:bioforum,代码行数:19,

示例6: test_all

​点赞 6

# 需要导入模块: import codecs [as 别名]

# 或者: from codecs import register [as 别名]

def test_all(self):

api = (

"encode", "decode",

"register", "CodecInfo", "Codec", "IncrementalEncoder",

"IncrementalDecoder", "StreamReader", "StreamWriter", "lookup",

"getencoder", "getdecoder", "getincrementalencoder",

"getincrementaldecoder", "getreader", "getwriter",

"register_error", "lookup_error",

"strict_errors", "replace_errors", "ignore_errors",

"xmlcharrefreplace_errors", "backslashreplace_errors",

"namereplace_errors",

"open", "EncodedFile",

"iterencode", "iterdecode",

"BOM", "BOM_BE", "BOM_LE",

"BOM_UTF8", "BOM_UTF16", "BOM_UTF16_BE", "BOM_UTF16_LE",

"BOM_UTF32", "BOM_UTF32_BE", "BOM_UTF32_LE",

"BOM32_BE", "BOM32_LE", "BOM64_BE", "BOM64_LE", # Undocumented

"StreamReaderWriter", "StreamRecoder",

)

self.assertCountEqual(api, codecs.__all__)

for api in codecs.__all__:

getattr(codecs, api)

开发者ID:Microvellum,项目名称:Fluid-Designer,代码行数:24,

示例7: writelines

​点赞 5

# 需要导入模块: import codecs [as 别名]

# 或者: from codecs import register [as 别名]

def writelines(self, lines):

self._checkClosed()

for line in lines:

self.write(line)

#fix me brython

#io.IOBase.register(IOBase)

开发者ID:war-and-code,项目名称:jawfish,代码行数:9,

示例8: write

​点赞 5

# 需要导入模块: import codecs [as 别名]

# 或者: from codecs import register [as 别名]

def write(self, b):

"""Write the given buffer to the IO stream.

Returns the number of bytes written, which may be less than len(b).

"""

self._unsupported("write")

#io.RawIOBase.register(RawIOBase)

#fix me brython

#from _io import FileIO

#RawIOBase.register(FileIO)

开发者ID:war-and-code,项目名称:jawfish,代码行数:13,

示例9: detach

​点赞 5

# 需要导入模块: import codecs [as 别名]

# 或者: from codecs import register [as 别名]

def detach(self):

"""

Separate the underlying raw stream from the buffer and return it.

After the raw stream has been detached, the buffer is in an unusable

state.

"""

self._unsupported("detach")

#fix me brython

#io.BufferedIOBase.register(BufferedIOBase)

开发者ID:war-and-code,项目名称:jawfish,代码行数:13,

示例10: errors

​点赞 5

# 需要导入模块: import codecs [as 别名]

# 或者: from codecs import register [as 别名]

def errors(self):

"""Error setting of the decoder or encoder.

Subclasses should override."""

return None

#fix me brython

#io.TextIOBase.register(TextIOBase)

开发者ID:war-and-code,项目名称:jawfish,代码行数:10,

示例11: encode

​点赞 5

# 需要导入模块: import codecs [as 别名]

# 或者: from codecs import register [as 别名]

def encode(input, encoding=UTF8, errors='strict'):

"""

Encode a single string.

:param input: An Unicode string.

:param encoding: An :class:`Encoding` object or a label string.

:param errors: Type of error handling. See :func:`codecs.register`.

:raises: :exc:`~exceptions.LookupError` for an unknown encoding label.

:return: A byte string.

"""

return _get_encoding(encoding).codec_info.encode(input, errors)[0]

开发者ID:Frank-qlu,项目名称:recruit,代码行数:14,

示例12: iter_decode

​点赞 5

# 需要导入模块: import codecs [as 别名]

# 或者: from codecs import register [as 别名]

def iter_decode(input, fallback_encoding, errors='replace'):

"""

"Pull"-based decoder.

:param input:

An iterable of byte strings.

The input is first consumed just enough to determine the encoding

based on the precense of a BOM,

then consumed on demand when the return value is.

:param fallback_encoding:

An :class:`Encoding` object or a label string.

The encoding to use if :obj:`input` does note have a BOM.

:param errors: Type of error handling. See :func:`codecs.register`.

:raises: :exc:`~exceptions.LookupError` for an unknown encoding label.

:returns:

An ``(output, encoding)`` tuple.

:obj:`output` is an iterable of Unicode strings,

:obj:`encoding` is the :obj:`Encoding` that is being used.

"""

decoder = IncrementalDecoder(fallback_encoding, errors)

generator = _iter_decode_generator(input, decoder)

encoding = next(generator)

return generator, encoding

开发者ID:Frank-qlu,项目名称:recruit,代码行数:28,

示例13: iter_encode

​点赞 5

# 需要导入模块: import codecs [as 别名]

# 或者: from codecs import register [as 别名]

def iter_encode(input, encoding=UTF8, errors='strict'):

"""

“Pull”-based encoder.

:param input: An iterable of Unicode strings.

:param encoding: An :class:`Encoding` object or a label string.

:param errors: Type of error handling. See :func:`codecs.register`.

:raises: :exc:`~exceptions.LookupError` for an unknown encoding label.

:returns: An iterable of byte strings.

"""

# Fail early if `encoding` is an invalid label.

encode = IncrementalEncoder(encoding, errors).encode

return _iter_encode_generator(input, encode)

开发者ID:Frank-qlu,项目名称:recruit,代码行数:16,

示例14: add_cp65001_codec

​点赞 5

# 需要导入模块: import codecs [as 别名]

# 或者: from codecs import register [as 别名]

def add_cp65001_codec():

if PY2:

try:

codecs.lookup('cp65001')

except LookupError:

codecs.register(

lambda name: name == 'cp65001' and codecs.lookup('utf-8') or None)

return

开发者ID:BasioMeusPuga,项目名称:Lector,代码行数:10,

注:本文中的codecs.register方法示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值