用python批量生成有效的IP位址

2021-09-26 16:09:28 字數 2065 閱讀 6489

#!/usr/bin/env python

#-*- coding:utf-8 -*-

import time

time_start = time.time() #設定執行開始時間

#批量生成ip位址

def get_ip(number=10, start='1.1.1.1'):

file = open('ip_list.txt','w')

starts = start.split('.')

a = int(starts[0])

b = int(starts[1])

c = int(starts[2])

d = int(starts[3])

for a in range(a, 256):

for b in range(b, 256):

for c in range(256):

for d in range(d, 256):

ip = "%d.%d.%d.%d" % (a, b, c, d)

if number>1:

file.write(ip + '\n')

number -= 1

elif number == 1: # 解決最後多一行回車問題

file.write(ip)

number -= 1

else:

file.close()

print(ip)

return

d = 0

c = 0

b = 0

#從生成的ip檔案中讀取url,將其儲存為字典格式,並通過dict[i]來獲取該ip位址

def readip():

ipfile = 'ip_list.txt'

global iplist

iplist={}

with open(ipfile, 'r') as file_to_read:

for i in range(0,1000):

lines = file_to_read.readline() # 整行讀取資料

if not lines:

break

ip=lines.replace('\n',' ')

iplist[i]=ip

print(iplist[1])

#-*-*-另一種生成url的方式

def getip(ip, count):

count = int(count)

ip2 = int(ip.split('.')[-2])

ip1 = int(ip.split('.')[-1])

ip_before = '%s.%s' % (ip.split('.')[0], ip.split('.')[1])

#開始批量生成ip位址

for i in range(0, count):

new_ip1 = ip1 + i

if 11 <= new_ip1 <= 254:

print('%s.%s.%s' % (ip_before, str(ip2), str(new_ip1)))

else:

new_ip2 = ip2 + int(new_ip1 / 254)

new_ip1 = new_ip1 % 254 + 10

print('%s.%s.%s' % (ip_before, str(new_ip2), str(new_ip1)))

#執行改命令

if __name__ == '__main__':

#執行該生成ip位址檔案

get_ip(10000, '101.23.228.102')

time_end = time.time()

time = time_end - time_start

print('耗時%s秒' % time)

time.sleep(2)

#執行讀取ip檔案命令

readip()

print('讀取結束')

#執行產生getip位址命令

getip('10.0.1.111', 1610)

批量生成變數及引用 python 批量生成變數

筆記 python 批量生成變數 在編寫程式時,有時我們需要命名相當多的變數,比如x0 x1 x2 xn,用手乙個個打出來是相當麻煩的。那麼這時我們就需要批量生成變數了。解決這個問題的關鍵在於,xn 是自動構造出來的字串,需要利用適當途徑,把它轉化成能被賦值的變數。locals 函式會以字典型別返回...

用python實現批量複製

使用shutil實現簡單的檔案批量複製 src dir為複製檔案的原始檔,就是從 複製,target dir 是目標檔案,就是要複製到哪 shutil.copy src dir,target dir 完整 import os import shutil 呼叫複製檔案函式 defcopy2file s...

簡單的Python指令碼 批量生成mysql資料庫表

這小指令碼主要是方便批量建立資料庫表,需求是從a庫中找到指定表,提取指定表的sql建立語句,然後在b庫中建立相同具有相同規則的表名。usr bin env python3 coding utf 8 注意事項 本指令碼為臨時編寫,所以還有許多不足之處,使用時請看執行命令!本指令碼是呼叫外部引數啟動執行...