使用python ping并保存到文件
蟒蛇 下面是ping主机并根据结果创建CSV文件的代码使用python ping并保存到文件,python,csv,Python,Csv,蟒蛇 下面是ping主机并根据结果创建CSV文件的代码 import os for i in range (0,255): for j in range(1,254): hostname = "10.222.{0}.{1}".format(i,j) response = os.system ("ping -n 1 " + hostname) if response == 0: fp = open("C:\\Users
import os
for i in range (0,255):
for j in range(1,254):
hostname = "10.222.{0}.{1}".format(i,j)
response = os.system ("ping -n 1 " + hostname)
if response == 0:
fp = open("C:\\Users\\anudeepa\\Desktop\\hostname.csv", 'w')
fp.writelines(hostname + "host up\n")
else:
fp = open("C:\\Users\\anudeepa\\Desktop\\hostname.csv", 'w')
fp.write(hostname + "host dead\n")
此代码允许我ping主机,但在将结果写入CSV时,它会覆盖以前写入的结果,并且只写入倒数第二个或非最短的结果。更改这两个结果
fp=open(“C:\\Users\\a\\Desktop\\hostname.csv”,“w”)
到
fp=open(“C:\\Users\\a\\Desktop\\hostname.csv”,“a”)
以便在追加模式下打开文件
您还可以通过将与
一起使用来改进代码,这样您就不会每次迭代都打开该文件:
import os
with open("C:\\Users\\anudeepa\\Desktop\\hostname.csv", 'a') as fp:
for i in range (0,255):
for j in range(1,254):
hostname = "10.222.{0}.{1}".format(i,j)
response = os.system ("ping -n 1 " + hostname)
if response == 0:
fp.writelines(hostname + "host up\n")
else:
fp.write(hostname + "host dead\n")
这还有一个好处,就是在脚本结束时关闭文件。Hi Deepspace,通过此更正修复了代码,在“导入操作系统”后添加了下面的行,全局打开了文件。fp=open(r“C:\Users\anudepa\Desktop\Work\Bala\xyz.csv”,“w”)`