excel_a裡是一大堆ip位址。
excel_b裡是ip位址所對應的實體地址。
兩個檔案:
excel_a如下圖所示 excel_b如下圖所示:
需求:
將excel_a中的ip在excel_b中找到對應的實體地址。
那麼寫的思路是什麼樣的呢?
剛開始想要操作excel,python裡也有針對excel操作的模組,但是過於太久沒有使用都忘得差不多了。所以就選用把要操作的excel_a裡的全都複製出來到乙個txt裡。然後再去到excel_b中判斷這個ip屬於那個地市。
其實思路還是相對比較多的,可以以數列的形式進行篩選,比如,我要獲得192.168.1.1這個ip是那個地區的。那麼我直接將ip作為數列的key,地區作為values,然後寫成乙個函式,引數是ip,我每次都通過ip去獲取地區,return出地區和ip就可以了,比如1-15這個區間是貴陽的,然後自然是需要加上這個區間。就比如跑192.168.1.1那麼跑出來的結果就要是:192.168.1.1 貴陽 南明區
#我在指令碼中就沒有說傳入ip我是直接擷取第三個,比如192.168.1.2 我直接截取出1來。然後去判斷的。
所以大致**如下所示:
#!/url/bin/env python
#encoding=utf-8
#橫槓為空置
defpao(num):
if num in range(0,125):
flag = ""
with open(
'diqu.txt
', 'r'
) as f:
for i in
f.readlines():
data =i.strip()
if data == ''
: flag += '-|'
else
: flag += data + "|"
if num in range(0,15):
diqu = "
貴陽 "
if num in range(15,33):
diqu = "
遵義 "
if num in range(33,43):
diqu = "
安順 "
if num in range(43,59):
diqu = "
黔南 "
if num in range(59,79):
diqu = "
黔東南
"if num in range(79,93):
diqu = "
銅仁 "
if num in range(93,105):
diqu = "
畢節 "
if num in range(105,113):
diqu = "
六盤水
"if num in range(113,126):
diqu = "
黔西南
"return(diqu + flag.split("|"
)[num])
if num in range(129,131):
return("
none")
if num in range(135, 189):
return("
none")
if num in range(201, 210):
return("
none")
if num in range(234,241):
return("
none")
if num in range(245,248):
return("
none")
if num == 198 or num == 199 or num == 213 or num == 216 or num == 231 or num == 232 or num ==242 or num == 243:
return("
none")
else:return("其他"
)def
hander(string):
ip = int(string.split('
.')[2])
return
(ip)
count = -1with open(
'ip.txt
','r
') as f:
count +=1
if count == 125:exit()
ip =f.readlines()
for i in
ip: ip = i.strip('\n'
) num =hander(ip)
print(pao(num))
給kill給乙個小指令碼
好長時間都沒有寫部落格了,關鍵最近真是累啊!這系統程式設計這一塊,之前的功底比較差,最近學習起來真是吃力,勉強勉強才可以應付過來,今晚休息之餘來個小指令碼,練練手,在linux下我認為還是要會寫指令碼的。平時我們在執行程式的時候,總是難免ctrl c可是有時候這個sigint被遮蔽,那麼你就終止不了...
第乙個Mac shell 小指令碼
第乙個mac shell 小指令碼 大多數程式設計師都喜歡偷懶的,我也不例外.相信好多android開發的coder 在網路http請求方面,會浪費很多時間在介面除錯這裡.有時候,自己寫了乙個小測試,行還好,不行的話,還要跟寫後台的哥們一起扯扯蛋.於是自己就寫了乙個curl的小指令碼,專門除錯這方面...
乙個shell防火牆的小指令碼
指令碼如下 bin sh ver 1.1 date 2009.7.14 iptables sbin iptables int net 192.168.1.0 24 mdprobe sbin modprobe ifconfig eth0 192.168.1.4 netmask 255.255.255....