在Python3中ping服务器

时间:2017-12-11 11:18:51

标签: python

我有一个python3代码,使用命令ping检查ip主机访问 ip_host.txt包含ip:212.19.24.234和212.19.24.219。 如果我运行代码,我得到以下结果: ['212.19.24.219 \ n - 已关闭'] ['212.19.24.234 - 正在上升']

如果我使用cmd-ping检查:212.19.24.234和212.19.24.219已启动。 但我在代码中找不到错误? 请帮帮我

import subprocess
fp = open('ip_host.txt')
for ip in fp.readlines():
    response = subprocess.Popen(["ping.exe",ip])
    response.wait()
    result = []
    if response.poll():
       res = (ip + " - is down")
    else:
       res = (ip + " - is up")

    result.append(res)
    print(result)

1 个答案:

答案 0 :(得分:0)

  1. (此处最重要的问题)ip将保存您文件中的行。这包括您应使用str.strip / str.rstrip删除的换行符。

  2. 您还可以在打开文件时使用with...as,这样您就不必担心以后关闭它们了。

  3. with open('ip_host.txt') as fp:
        for line in fp:
            res = subprocess.Popen(["ping.exe", line.rstrip()])
            ...
    

    striprstrip之间的唯一区别是后者仅删除尾随空格。如果您也有前导空格,请使用strip