如何在Python中拆分字符串并保留余数?

3
在Python3中,我有以下字符串:
 433 65040    9322 /opt/conda/envs/python2/bin/python -m ipykernel_launcher 

我希望将其分成四个部分:前三个元素(数字)和剩余的作为一个字符串。当然,可以按照以下方式实现:

text = " 433 65040    9322 /opt/conda/envs/python2/bin/python -m ipykernel_launcher"
pid,rss,etime,*remainder = text.split()
cmd = ' '.join(remainder)

但是也许有更符合Python风格的方法来实现这个功能?


你可以考虑使用 https://psutil.readthedocs.io/。它虽然不能帮助你进行字符串分割,但可以在Python中获取进程信息... - hiro protagonist
我认为那不是这个问题的好重复,那不是OP所问的。 - Cory Kramer
已经很Pythonic了。 - shiv_90
1
@CoryKramer 不是吗?我认为这完全是使用 maxsplit=1 的相同问题。 - Aran-Fey
现在我想想,是的,你说得对,那是一个不错的解决方案,但使用 maxsplit=3 就可以解决问题了。 - Cory Kramer
1个回答

2
你可以在maxsplit参数下使用split方法:

split

text = " 433 65040    9322 /opt/conda/envs/python2/bin/python -m ipykernel_launcher"
text.strip().split(maxsplit=3)  # max 3 splits
# ['433', '65040', '9322', '/opt/conda/envs/python2/bin/python -m ipykernel_launcher']

注释给未来的自己:3个分割会产生4个输出。 - craq

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接