如何在第一次出现字符时将字符串拆分为两个字符串

Ros*_*n r 3 python python-2.7

我编写了一个代码来列出我的Linux服务器中的所有组件.该列表存储在一个文件中.我将逐行准备,并且必须从版本中拆分组件并存储在2个不同的字符串中.

例如:我的一行显示console-3.45.1-0,其中console是组件,3.45.1-0是版本.如果我使用拆分,

print components[i].split('-')
Run Code Online (Sandbox Code Playgroud)

我可以看到['console', '3.45.1', '0\r\r']哪个不是我想要的.如何在第一次出现' - '时拆分为2个字符串?

Pad*_*ham 9

str.split采用maxsplit参数,传递1只对第一个进行拆分-:

print components[i].rstrip().split('-',1)
Run Code Online (Sandbox Code Playgroud)

将输出存储在两个变量中:

In [7]: s = "console-3.45.1-0"

In [8]: a,b = s.split("-",1)

In [9]: a
Out[9]: 'console'

In [10]: b
Out[10]: '3.45.1-0'
Run Code Online (Sandbox Code Playgroud)