美文网首页
open 中 w 与 wb 区别

open 中 w 与 wb 区别

作者: lindyang | 来源:发表于2020-05-08 18:21 被阅读0次

PY3 对应原则

  • wb 仅对应 字节
  • w 仅对应 字符串

PY2

并没有像 PY3 一样遵守对应原则

open('/tmp/_', 'wb').write(u'汉字')

也是可以的。可能的报错

UnicodeEncodeError: 'ascii' codec can't encode characters...

只是指明默认的 ascii 规则不能 encode 汉字,此时需要指定默认编码

import sys
try:
    reload(sys)
    sys.setdefaultencoding('utf-8')
except NameError:
    pass

PY2、PY3 字符串的区别

变量 'a' u'a' b'a'
PY2 <type 'str'> <type 'unicode'> <type 'str'>
PY3 <class 'str'> <class 'str'> <class 'bytes'>
  • 所以编写 PY2、PY3 兼容的代码时,对于非 ASCII 的字符,需要加 u(e.g u'汉字')。
  • 但是有时,对于 ASCII 字符,需要加 b,明确指明其是一个 bytes:

pipe = Popen(["ls"], stdout=PIPE).stdout
for line in iter(pipe.readline, b'')

相关文章

  • open 中 w 与 wb 区别

    PY3 对应原则 wb 仅对应 字节 写 w 仅对应 字符串 写 PY2 并没有像 PY3 一样遵守对应原则。 也...

  • 2017-5-24

    1.open(file,'wb') wb,r,w,a,wr 2.read()-----read(1024),w...

  • Python 文件操作

    打开 open("文件",模式), 只读模式(r) 只写模式(w) 追加模式(a) 二进制模式(rb,wb,ab)...

  • Python读写本地文件

    func、arguments open() 函数 r : 读文本rb : 读二进制w : 写文本wb : 写二进制...

  • Python Lib -- 文件对象

    with open('filename.txt', 'wb', encoding='utf-8') as file...

  • python numpy,list操作

    pickle写操作 with open('../item_desc_smallnvjc.pkl','wb') as...

  • Python open()与with open() 区别

    我通常都是用with open(),因为在处理异常情况和代码的健壮性会比较好,现在聊聊两者之间的区别 open()...

  • wb条带分析

    ImageJ的软件界面 1.ImageJ对WB条带进行灰度分析 1)File|Open打开WB结果图片 2)图片类...

  • 笔记-xlrd读取Excel

    # coding:utf-8 import xlrd wb = xlrd.open_workbook('/User...

  • java9 opens与exports的区别

    序 本文主要研究下java9 opens与exports的区别 open及exports open open mo...

网友评论

      本文标题:open 中 w 与 wb 区别

      本文链接:https://www.haomeiwen.com/subject/cwafnhtx.html