打印文本文件的行号

时间:2019-12-05 17:26:42

标签: python

目前是python和自学的新手,如果示例错误/基本,敬请见谅。 随时进行改进:)

基本上,文件MEs.txt包含IP地址列表,一旦它ping通IP地址并得到响应,我就试图获取打印输出'ME(行号)已连接/断开)。

有帮助吗?


os.remove("EquipmentCheck.txt")

file = open("MEs.txt", "r+")

with open("MEs.txt", "r") as file:

  for line in file:
     response = os.system("ping   " + line)

     if response == 0:
        with open("EquipmentCheck.txt", "a") as file:
                file.write("ME is connected" "\n")

     else:
         with open("EquipmentCheck.txt", "a") as file:
                file.write("ME is disconnected" "\n")```

3 个答案:

答案 0 :(得分:4)

一种选择是使用enumerate函数。

  for index, line in enumerate(file):
     line_number = index + 1
     ...

显然有一个开始参数。因此,您可以这样做:

  for line_number, line in enumerate(file, start=1):
     ...

答案 1 :(得分:0)

尝试使用enumerate()

  

枚举(可迭代,开始= 0)

     

参数

     

可迭代:支持迭代的任何对象
  开始:索引值   从中启动计数器,默认情况下为0

with open("MEs.txt") as fp:
    for i, line in enumerate(fp):
        print("%d, %s"%(i, line))

答案 2 :(得分:0)

您有2个名为file的变量,它们正在破坏代码