Python中split()函數的用法及實際使用示例


  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",

 1 def rep_hostname():
 2 
 3     ip_dict = {}
 4     ip_local = []
 5     flag = 0
 6 
 7     with  open('ip_list.txt') as f:
 8         for line in  f.readlines():
 9             line = line.strip('\n').split(' ')
10             ip_dict[line[1]] = line[0].decode('GBK')
11 
12 
13     ips = os.popen("ifconfig|grep \"inet addr:\"|head -2 |awk '{print $2}'|cut -d':' -f2")
14 
15     for i in ips.readlines():
16         ip = i.strip('\n')
17         if ip in ip_dict:
18             flag = 1
19             print "The Right IP is : %s" % ip
20             (stat, out) = commands.getstatusoutput('sed -i "s#\\\"hostname\\\": \\\"\\\",#\\\"hostname\\\": \\\"%s %s\\\",#g" /home/langxiaowei/falcon-agent/cfg.json' % (ip_dict[ip],ip))
21             if stat != 0 : 
22                 print out
23                 return
24         ip_local.append(ip)
25 
26     if flag == 0 :
27         print "Error: %s not in ip_list!" % ip_local
28 
29     return flag
30 
31 if __name__ == '__main__':
32    rep_hostname()

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM