python - 函数将行附加到 .csv

标签 python function text-files

由于我的无知,我已经有一段时间没有使用 for 循环编写函数和写入文件了。

此函数被赋予一个 IP 地址以从文本文件中读取; ping IP,搜索收到的数据包,然后将其附加到 .csv

我的问题是:是否有更好或更简单的写法?

def pingS (IPadd4):
   fTmp = "tmp"
   os.system ("ping " + IPadd4 + "-n 500 >  tmp")
   sName = siteNF #sys.argv[1]
   scrap = open(fTmp,"r")   
   nF = file(sName,"a") # appends
   nF.write(IPadd4 + ",")

   for line in scrap:
    if line.startswith("    Packets"):
        arrT = line.split(" ")  
        nF.write(arrT[10]+" \n")
   scrap.close()
   nF.close()

注意:如果您需要完整的脚本,我也可以提供。

最佳答案

在我看来,这至少让正在发生的事情变得更加明显。 len('Received = ') 显然可以替换为常量。

def pingS (IPadd4):    
    fTmp = "tmp"    
    os.system ("ping " + IPadd4 + "-n 500 >  tmp")    
    sName = siteNF #sys.argv[1]    
    scrap = open(fTmp,"r")       
    nF = file(sName,"a") # appends 

    ip_string = scrap.read()
    recvd = ip_string[ip_string.find('Received = ') + len('Received = ')]
    nF.write(IPadd4 + ',' + recvd + '\n')

您也可以尝试查看 Python csv module用于写入 csv。不过在这种情况下,它非常微不足道。

关于python - 函数将行附加到 .csv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9220475/

相关文章:

ios - 如何保存和加载具有自定义名称的 .txt 文件?

c - 我无法用 C 语言在文本文件中写入结构

Python 参数解析 : optional two values argument

python - 面向对象与基于向量的编程

php - 调用 PHP 函数时如何防止显示错误

python - 在 if 语句中调用函数

python - 函数内多列的 For 循环替代方案(pandas)

python - 如何使用 Colaboratory(谷歌)从谷歌驱动器中读取数据

javascript - 将参数传递给函数

Python 导入文本文件作为列表进行迭代