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
  • 41,580
  • 88
  • 260
  • 469

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
  • 72,016
  • 6
  • 67
  • 89