【问题标题】:Python IP address management modulePython IP地址管理模块
【发布时间】:2017-12-14 00:06:57
【问题描述】:

我是 Python 的菜鸟,我得到了这个任务,但我在开始时遇到了麻烦。

我有一个包含以下信息的 IP.log 文件:

12.0.0.1 120 x
188.1.1.1 12 x
199.1.1.1 3
99.1.5.5 1

基本上我必须制作一个具有以下功能的应用程序:按 IP 对文件进行排序、删除记录、添加记录、标记/取消标记 IP 地址、编辑记录、将计数重置为零。读取的文件应显示如下:

 1 | 12.0.0.1 | 120 | X
  2 | 188.1.1.1 | 12 | X
  3 | 199.1.1.1 | 3 |
  4 | 99.1.5.5 | 1 |

如果能帮助我走上正轨,我们将不胜感激。

【问题讨论】:

  • 使用pandas怎么样?使用pandas.read_csvsep= " "
  • 顺便说一句:标准模块ipaddress
  • 顺便说一句:如果你不使用panda(但csv)那么你可以使用PTabletabulate来显示表格。

标签: python function loops


【解决方案1】:

你可以试试这个:

Python3:

s = ['12.0.0.1 120 x', '188.1.1.1 12 x', '199.1.1.1  3', '99.1.5.5 1']
with open('filename.txt', 'a') as f:
  for i, line in enumerate(s, start=1):
      f.write(('{} |'*(1+len(line.split()))).format(*[i, *line.split()])+'\n')

Python2:

import itertools
s = ['12.0.0.1 120 x', '188.1.1.1 12 x', '199.1.1.1  3', '99.1.5.5 1']
with open('filename.txt', 'a') as f:
   for i, line in enumerate(s, start=1):
      f.write(('{} |'*(1+len(line.split()))).format(*list(itertools.chain(*[[i], line.split()])))+'\n')

输出:

1 |12.0.0.1 |120 |x |
2 |188.1.1.1 |12 |x |
3 |199.1.1.1 |3 |
4 |99.1.5.5 |1 |

【讨论】:

    【解决方案2】:

    您可以使用模块pandas。执行以下操作:

    将熊猫导入为 pd # 从文件中加载数据 数据 = pd.read_csv("path_to_the_file", sep="") ^ 空格在这里

    你就完成了! 如果需要,请查看您的数据:

    data.head()

    【讨论】:

      猜你喜欢
      • 2016-10-25
      • 1970-01-01
      • 2021-02-15
      • 2013-04-26
      • 2019-11-01
      • 1970-01-01
      • 2019-07-21
      • 1970-01-01
      • 2021-10-06
      相关资源
      最近更新 更多