3

In python3 I have e.g. the following string

 433 65040    9322 /opt/conda/envs/python2/bin/python -m ipykernel_launcher 

which I want to split in four parts: the first three elements (the numbers) and the remainder as one string. Of course its possible to do it the following way:

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

but maybe there is a more pythonic way to do that?

Alex
  • 38,938
  • 74
  • 207
  • 406

1 Answers1

2

You can use split with the maxsplit parameter:

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']
user2390182
  • 67,685
  • 6
  • 55
  • 77