V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
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
todayzhou
V2EX  ›  Python

如何稍微修改内置函数比如 splitlines()

  •  
  •   todayzhou · Mar 29, 2018 · 3551 views
    This topic created in 2957 days ago, the information mentioned may be changed or developed.
    我的需求是按行分割且保留换行符,只分割 \r\n 的换行,但是 splitlines() 函数默认还会分割 \r 或者 \n 的行。
    的确可以通过 split 分割 \r\n,然后在去拼,但是感觉这样很繁琐,如果可以直接重载内置函数把 \r 和 \n 的匹配去掉,这样肯定是最便捷。
    不知该如何处理,望指教~
    要实现的效果:
    str1 = '123\r\n456\r789\n000\r\n111'
    结果:
    ['123\r\n', '456\r789\n000\r\n', '111']
    9 replies    2018-03-30 16:04:32 +08:00
    wevsty
        1
    wevsty  
       Mar 29, 2018
    有空纠结怎么修改 splitlines 的功夫不如直接 split 自己写一个
    zeq
        2
    zeq  
       Mar 30, 2018 via Android
    我记得可以 open(something, "rU")
    1iuh
        3
    1iuh  
       Mar 30, 2018
    不麻烦啊 [ "".join([line, "\r\n"]) for line in str1.split("\r\n")]
    greenmoon55
        4
    greenmoon55  
       Mar 30, 2018
    自己写一个有啥难度嘛= =
    Sylv
        5
    Sylv  
       Mar 30, 2018 via iPhone
    Monkey-patching
    fanhaipeng0403
        6
    fanhaipeng0403  
       Mar 30, 2018
    看源码 是不是个类, 继承下?
    yanqing07
        7
    yanqing07  
       Mar 30, 2018
    这个函数加参数 ture 不是保留换行符吗?
    xpresslink
        8
    xpresslink  
       Mar 30, 2018
    class StrMixin:
    self.delimiter = ' \r\n'
    def splitelines(self, s): return [k+self.delimiter for k in s.split(self.delimeter)]
    todayzhou
        9
    todayzhou  
    OP
       Mar 30, 2018
    谢谢各位!!
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2506 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 52ms · UTC 07:42 · PVG 15:42 · LAX 00:42 · JFK 03:42
    ♥ Do have faith in what you're doing.