You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python生成250个IP列表功能失效,寻求解决办法

问题分析与修复方案

你的代码存在几个关键问题,导致无法生成目标IP列表:

  1. IP段未循环更新:octet2、octet3、octet4的随机值定义在for循环外,整个循环只会复用同一组数值,生成的全是重复IP。
  2. 文件操作逻辑错误:每次循环用'w'模式打开文件会清空原有内容,最终文件只剩最后一个(重复的)IP;且前面的with open(tarlist, 'a')未执行任何写入操作,属于冗余代码。
  3. IP格式拼接错误:你将IP拆分为元组,用writelines写入时会把元组元素拆分输出,导致格式混乱,应直接拼接为完整字符串。

修复后的代码

import random

tarlist = 'targets.txt'
seed = input("Enter First Octet (example'192' '172' '10'):   ")

def make_list():
    # 一次性打开文件,清空后批量写入
    with open(tarlist, 'w') as tl:
        for _ in range(250):
            # 每次循环生成新的后三段IP值
            octet2 = random.randrange(256)  # 改为256才能覆盖0-255全范围
            octet3 = random.randrange(256)
            octet4 = random.randrange(256)
            # 拼接为标准IP格式,每行一个
            ipadd = f"{seed}.{octet2}.{octet3}.{octet4}\n"
            tl.write(ipadd)

make_list()
print("250个IP已生成并存入targets.txt")

修复说明

  • 将后三段IP的随机生成逻辑移入for循环内,确保每次循环生成新的IP值。
  • 仅在最外层打开一次文件,避免重复打开导致的内容清空问题,提升写入效率。
  • 使用f-string拼接IP字符串,格式更简洁规范,每行一个IP便于后续读取。
  • 把randrange(255)改为randrange(256),覆盖0-255所有合法IP段数值。

内容的提问来源于stack exchange,提问作者Derek Johnston

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 15:07:40