我需要按照以下方式拆分下面代码中定义的路径
k[0] = /dev/mapper/centos-root
k[1] = 52403200
k[2] = 14460252 an so on.
我尝试了什么? 我尝试使用 split 函数,但它目前需要 k[0] =/ 另外,我尝试将它传递到一个列表中,其中整个上下文作为一个值出现
command = ("df -P | egrep '([20][0-9]|100)%' | awk '{print}'|sed -e 's/ / : /g'")
command_execute = (stdin, stdout, stderr) = ssh.exec_command(command)
read_contents = stdout.read().decode("utf-8")
read_contents
'/dev/mapper/centos-root : : : : 52403200 : 14460252 : : 37942948 : : : : : : 28% : /\n'
k=read_contents[0]
k
'/'
k=read_contents[1]
k
'd'
k.split(" ")
['d']
m =k.split(":")
m
['d']
s = [read_contents]
s
['/dev/mapper/centos-root : : : : 52403200 : 14460252 : : 37942948 : : : : : : 28% : /\n']
s[0]
'/dev/mapper/centos-root : : : : 52403200 : 14460252 : : 37942948 : : : : : : 28% : /\n'
s[1]
Traceback (most recent call last):
File "<input>", line 1, in <module>
IndexError: list index out of range
s[0]
'/dev/mapper/centos-root : : : : 52403200 : 14460252 : : 37942948 : : : : : : 28% : /\n'
k[0] = /dev/mapper/centos-root
k[1] = 52403200
k[2] = 14460252 an so on.
请您参考如下方法:
当您在 : 上拆分时,您想摆脱带有空格的字符串
In [20]: read_contents = '/dev/mapper/centos-root : : : : 52403200 : 14460252 : : 37942948 : : : : : : 28% : /\n'
#Get rid of empty strings, and strip leading and trailing whitespaces around the rest of the words
In [21]: contents = [content.strip() for content in read_contents.split(':') if content.strip()]
In [22]: contents
Out[22]: ['/dev/mapper/centos-root', '52403200', '14460252', '37942948', '28%', '/']
In [23]: for item in contents:
...: print(item)
...:
/dev/mapper/centos-root
52403200
14460252
37942948
28%
/
