python - 文件作为 python netaddr 中的输入

标签 python linux bash ip

我正在尝试使用 python 中的 netaddr 超网 IP 网络列表。

代码:

import netaddr
from netaddr import *
iplist = [IPNetwork('10.105.205.8/29'),IPNetwork('10.105.205.16/28'),IPNetwork('10.105.205.0/29')]
print '%s' % netaddr.cidr_merge(iplist)

**输出:**实际有效。

[IPNetwork('10.105.205.0/27')]

我可以提供来自文件的输入吗?在 CSV 文件中包含 IP 网络?

IP_Network.csv

8.35.196.0/23
8.35.196.0/24
8.35.197.0/24
8.35.198.0/23
8.35.198.0/24
8.35.199.0/24
8.35.200.0/21
8.35.200.0/23
8.35.200.0/24
8.35.201.0/24
8.35.202.0/23

最佳答案

我不熟悉 netaddr 模块,但对我来说,您似乎只是根据输入构建一个列表。如果你有一个输入文件,每行都有一个网络,这行得通吗:

with open ("inputfile", "r") as fp:
    iplist = [IPNetwork(q) for q in fp.read().splitlines()]

汉奴

关于python - 文件作为 python netaddr 中的输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39567577/

相关文章:

node.js - 自动同步本地 Github 存储库与服务器上的目录

python - 安装 X 协议(protocol)以使用 mysql shell - Mac

Python Tkinter 只读文本字段

windows - Linux Hudson,Windows 构建

代码漏洞

regex - 为什么在此正则表达式替换中丢失引号转义?

python - 如何将多个变量从Python脚本传递到C shell脚本

python - 如何让 pandas read_csv 从它自己的 csv 生成文件中正确解析日期?

python - python中编译器和ast模块的区别

C 标准输入不起作用