我在txt文件中逐行列出了cidr范围。我不知道为什么每隔一行打印一次。
import ipaddress
from sys import argv
script, file1 = argv
with open(file1) as x:
for reading in x:
line = x.readline().strip()
net4 = ipaddress.ip_network(line)
for i in net4:
print(i)
我正在尝试打印所有cidr范围内的每个IP。
答案 0 :(得分:5)
for reading in x
一次遍历x
一行。
但是您忽略reading
并阅读另一行,
x.readline().strip()
。
相反,您可以这样做:
with open(file1) as x:
for line in x:
net4 = ipaddress.ip_network(line.strip())
for i in net4:
print(i)
答案 1 :(得分:3)
您每次循环迭代读取两行。一次使用import React, { useRef, useEffect } from 'react';
const MyComponent = ({ navigation }) => {
const { state } = navigation;
const { params = {} } = state;
const description = useRef(params.description);
const setParams = useRef(navigation.setParams);
useEffect(() => {
setParams.current({ headerTitle: description.current });
}, [description, setParams]);
return (...);
}
MyComponent.navigationOptions = ({ navigation }) => ({
title: navigation.getParam('headerTitle')
})
,一次使用for reading in x:
默认情况下,一个line = x.readline()
循环遍历文件对象(在这种情况下,例如for
)读取每一行。差不多等于x
直到文件用完为止。
所以你可以做
.readline()
而不是读另一行。