Python中split()函数的用法及实际使用示例

时间:2021-12-28 08:40:16

  Python中split()函数,通常用于将字符串切片并转换为列表。

一、函数说明:

split():语法:str.split(str="",num=string.count(str))[n]

拆分字符串。通过制定分隔符将字符串进行切片,并返回分割后的字符串列表[list]

参数:str:分隔符,默认为空格,但不能为空("")

   num: 表示分割次数。如果指定num,则分割成n+1个子字符串,并可将每个字符串赋给新的变量

   [n]: 选取第n个分片,即第n个字符串,从0开始算。

二、示例:

   u = "www.google.com"

   print u.split('.') --> ['www','google','com']

   print u.split('.',1)-->['www','google.com']

   print u.split('.',2)[1]-->google

   u1,u2,u3 = u.split('.')

三、实际应用:

写了一个读取ip列表,并自动替换掉配置文件里host内容的python脚本。

ip_list.txt 内容:(机房名称和IP之间用空格,详见下文spilt参数)

吉林枢纽联通-01 122.0.0.1

吉林枢纽联通-01 122.0.0.2

"hostname": "吉林枢纽联通-01  122.0.0.1",

 def rep_hostname():

     ip_dict = {}
ip_local = []
flag = 0 with open('ip_list.txt') as f:
for line in f.readlines():
line = line.strip('\n').split(' ')
ip_dict[line[1]] = line[0].decode('GBK') ips = os.popen("ifconfig|grep \"inet addr:\"|head -2 |awk '{print $2}'|cut -d':' -f2") for i in ips.readlines():
ip = i.strip('\n')
if ip in ip_dict:
flag = 1
print "The Right IP is : %s" % ip
(stat, out) = commands.getstatusoutput('sed -i "s#\\\"hostname\\\": \\\"\\\",#\\\"hostname\\\": \\\"%s %s\\\",#g" /home/langxiaowei/falcon-agent/cfg.json' % (ip_dict[ip],ip))
if stat != 0 :
print out
return
ip_local.append(ip) if flag == 0 :
print "Error: %s not in ip_list!" % ip_local return flag if __name__ == '__main__':
32    rep_hostname()