python生成所选文件的ip

2024-06-09 09:28:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我想生成一个完整的ip范围,并将其写入许多文件,因为用户希望这样

How many files : 9
Ip range : 100

我想划分ip范围100.0.0.0-100.255.0.0到9个文件1.txt,2.txt。。。等 并将结果写入这些文件中。。。剩下的我想把它们写在最后一个文件里

结果:-

File1:
100.0.0.0
100.1.0.0
100.2.0.0
100.3.0.0
...
100.27.0.0

File2:
100.28.0.0
...
100.55.0.0

and complete the 9 files

我正在写这个过程的代码,但我不知道如何生成ip号码

iprange = int(raw_input("IP Range : "))
count = int(raw_input("How much files you want to create ? \n"))
ipnum = 256 / count
extra=256%count
ipnum [-1]=ipnum [-1]+extra
for i,g in enumerate(ipnum):
    with open('ip{0}_{1}'.format(iprange,(i+1)), 'w') as fout:
        fout.writelines(?????)

有什么帮助吗


Tags: 文件用户iptxtinputrawcountfiles
2条回答

你想要分割的模式对我来说完全没有意义。也许你可以提供一个更好的例子。另外,Python的netaddr模块也会对您有所帮助。你知道吗

我已经创建了一个文件,并编写了生成的ip的,然后通过这个代码划分

iprange = int(raw_input("IP Range : "))
count = int(raw_input("How much files you want to create ? \n"))
ipnum =[256 / count] * count
extra=256%count
ipnum[-1]=ipnum[-1]+extra
with open('{0}.txt'.format(iprange), 'w') as f:
    for i in range(256):
        cr1 = ("{1}.{0}" + ".0.0\n").format(i,iprange)
        f.write(cr1)
with open('{0}.txt'.format(iprange)) as f:
    for i,g in enumerate(ipnum):
        with open('ip{0}_{1}'.format(iprange,(i+1)), 'w') as fout:
            fout.writelines([next(f) for x in xrange(g)])

霍雷工作得很好;)

相关问题 更多 >