首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python 学习手册
Python Cookbook
Python 基础教程
Python Sites
PyPI - Python Package Index
http://www.simple-is-better.com/
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
V2EX  ›  Python

TypeError: a bytes-like object is required, not 'str'

  •  
  •   okface · 119 天前 · 978 次点击
    这是一个创建于 119 天前的主题,其中的信息可能已经有所发展或是发生改变。



    在 python3 中报错时为啥呀,新手一枚~
        1
    ynyounuo   119 天前   ♥ 1
        2
    okface   119 天前
    @ynyounuo 是我没说清楚,问题是我记得我之前一直都是这么写的啊。我要写成 filename.decod('utf-8')这种吗?
        3
    monsterxx03   119 天前
    1. 统计行数你这写法太繁琐了, open return 的 file 对象可以直接遍历: sum(1 for _ in open(filename))
    2. open(filename, 'rb') 是用二进制模式打开,读出来的是 bytes, 你传入的 eol 是 str, 改成用文本 'r' 模式打开
        4
    ipwx   119 天前   ♥ 1
    import codecs

    with codecs.open(filename, 'rb', 'utf-8') as f
        5
    ipwx   119 天前
    @monsterxx03 看他的参数 eol='\n',可以自定义的。
        6
    snoopygao   119 天前
    论坛的头像规则里说:如果你是男人,请不要用女人的照片做头像,以免误导其他会员
        7
    monsterxx03   119 天前
    @ipwx 要看他真正需求,如果就是统计行数完全不需要自定义换行符,windows/linux python 都能 handle 的,否则这个问题不叫统计行数
        8
    okface   119 天前
    @ipwx thank you ,感谢 10 铜币~
        9
    wellsc   119 天前
    我以为是真人
        10
    okface   119 天前
    @monsterxx03 学习了,这个方法我直接 copy 的,所以没有深究 python 能不能识别\n 和\r\n
        11
    okface   119 天前
    @snoopygao 喜欢陈意涵而已。。。哈哈
        12
    ycz0926   119 天前
    1、b"abcdddd"
    2、"sdddd".encode('utf-8')
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   鸣谢   ·   652 人在线   最高记录 3541   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.1 · 18ms · UTC 21:47 · PVG 05:47 · LAX 14:47 · JFK 17:47
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1