Pythonで文字列を剰余で分割する方法は? [複製]

How to split a string in python with a remainder? [duplicate]


質問 written by Alex @2018-09-20 11:51:31Z

: 2 : 1 : 76

この質問にはすでに答えがあります:

python3では、たとえば次の文字列があります

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

最初の3つの要素(数字)と残りを1つの文字列として4つの部分に分割します。 もちろん、次の方法で実行できます。

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

しかし、おそらくそれを行うためのよりPython的な方法がありますか?

コメント 1

psutil.readthedocs.ioの使用を検討できます。それは文字列の分割ではなく、Pythonのプロセス情報では役立ちません

written by hiro主人公 @2018-09-20 11:53:19Z

コメント 2

私はそれがこの質問の良い複製だとは思わない、それはOPが求めているものではない

written by コリークラマー @2018-09-20 11:53:57Z

コメント 3

そのpythonicは既に。

written by Shiv_90 @2018-09-20 11:54:11Z

コメント 4

@CoryKramerでしょ?私が見るように、それはmaxsplit=1とまったく同じ質問です。

written by アランフェイ @2018-09-20 11:55:04Z

コメント 5

今私はそれについて考えるので、あなたは正しい解決策です、しかし、 maxsplit=3 、それはトリックを行うでしょう

written by -CoryKramer @2018-09-20 11:56:13Z

回答 1 written by schwobaseggl @2018-09-20 11:54:32Z
1

maxsplitパラメーターで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']