Skip to main content
 首页 » 编程设计

python之我需要在变量中拆分一个值

2025年05月04日13zhoujg

我需要按照以下方式拆分下面代码中定义的路径

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% 
/