建立一个文本文件ip.txt,文本文件中输入A类、B类、C类IP地址各5个 2、编写python脚本文件读取文件内容,统计C类地址的个数,并输出C类地址
时间: 2024-10-25 11:07:41 浏览: 0
首先,你需要创建一个名为`ip.txt`的文本文件,并按照以下格式分别输入A、B、C类IP地址:
```plaintext
# ip.txt 文件示例
A类 IP1 A类 IP2 A类 IP3 A类 IP4 A类 IP5
B类 IP1 B类 IP2 B类 IP3 B类 IP4 B类 IP5
C类 IP1 C类 IP2 C类 IP3 C类 IP4 C类 IP5 C类 IP6 (假设总共有6个)
```
接下来,你可以编写一个Python脚本来读取这个文件,识别并统计C类IP地址的数量。这里是一个简单的示例:
```python
def count_C_class_ips(file_path):
with open(file_path, 'r') as f:
lines = f.readlines()
c_class_ips = []
for line in lines:
if 'C类' in line:
ip = line.split()[0] # 假设每个C类IP都在一行的第一部分
c_class_ips.append(ip)
c_class_count = len(c_class_ips)
print(f"在文件'{file_path}'中有 {c_class_count} 个C类IP地址。")
count_C_class_ips('ip.txt')
```
运行此脚本,它会统计`ip.txt`中C类IP地址的数量,并将其输出到控制台。
相关问题
python 编写一个ip地址图形程序 根据txt文件里面ip前两个地址生成ip地址段
以下是一个简单的 Python 程序,可以根据给定的 IP 地址文件生成 IP 地址段,并将其显示在一个图形界面中。
首先,我们需要安装 `tkinter` 模块,这是 Python 自带的 GUI 库。如果你使用的是 Anaconda 或者其他 Python 发行版,则不需要额外安装该模块。
```python
import tkinter as tk
import re
class IPAddressApp:
def __init__(self, filename):
self.filename = filename
self.ip_list = self.read_ip_file()
self.root = tk.Tk()
self.root.title("IP Address Ranges")
self.root.geometry("400x300")
self.canvas = tk.Canvas(self.root, bg="white")
self.canvas.pack(fill="both", expand=True)
self.draw_ip_ranges()
self.root.mainloop()
def read_ip_file(self):
with open(self.filename, "r") as f:
lines = f.readlines()
ip_list = []
for line in lines:
# extract the first two octets of the IP address
match = re.search(r"(\d+\.\d+)\.\d+\.\d+", line)
if match:
ip_list.append(match.group(1))
return ip_list
def draw_ip_ranges(self):
y_offset = 50
for ip in self.ip_list:
self.canvas.create_text(200, y_offset, text=f"{ip}.0/24")
y_offset += 30
if __name__ == "__main__":
app = IPAddressApp("ip_addresses.txt")
```
在上面的代码中,我们定义了一个 `IPAddressApp` 类,它的构造函数会从指定的文件中读取 IP 地址,并将其保存在实例变量 `ip_list` 中。然后,我们创建一个窗口和一个画布,并在画布上绘制 IP 地址段。
为了读取 IP 地址文件,我们使用了 Python 的正则表达式模块 `re`。我们搜索每一行中的 IP 地址,并提取前两个 octet。然后,我们将这些 octet 保存在列表 `ip_list` 中。
在 `draw_ip_ranges` 方法中,我们遍历 `ip_list`,并为每一个 IP 地址绘制一个文本标签。我们在画布上使用 `create_text` 方法创建文本标签,并指定标签的位置和内容。
你可以将 IP 地址文件的名称替换为你自己的文件名,并运行该程序,以查看生成的 IP 地址段。
编写python脚本文件读取文件内容,统计C类地址的个数,并输出C类地址
在Python中,你可以使用内置的`open()`函数打开文件,然后使用`read()`方法获取文件内容,接着通过正则表达式或其他字符串处理方法来查找和计数C类IP地址(通常是指范围从192.0.0.1到223.255.255.255)。这里是一个简单的示例:
```python
import re
def count_c_class_ips(file_path):
# 打开文件
with open(file_path, 'r') as file:
# 读取文件内容
content = file.read()
# 定义C类IP地址的正则表达式
c_class_pattern = r"\b(19[2-9]|2[0-3][0-9]|24[0-8])\.(?:[0-9]{1,3})\.(?:[0-9]{1,3})\.(?:[0-9]{1,3})\b"
# 使用正则表达式匹配并计算C类IP地址的数量
c_class_count = len(re.findall(c_class_pattern, content))
return c_class_count, c_class_pattern
# 示例文件路径
file_path = "example.txt"
count, patterns = count_c_class_ips(file_path)
print(f"C类地址的数量是: {count}")
print("C类地址的模式示例: ", patterns)
```
在这个脚本中,我们假设文件中包含的是文本,且IP地址是以标准格式出现的。如果你的文件内容复杂,可能需要调整正则表达式以适应实际情况。
阅读全文