2016-10-05 52 views
-1
import subproccess 
import sys 

mylist= ['google.com','bbc.com','yahoo.com','gmail.com','hotmail.com', 
     'amazon.com'] 

for ping in mylist(0,5): 
    result = os.system("ping %s" % ping) 
    result.stdout=open("test.txt","w") 
    result.stdout.close() 

有人可以找到我的代码中的错误吗?我想从cmd终端调用这个脚本。此代码的目的是每次ping每个网站,然后将结果写入文本文件。我对Python很新,我不知道如何构建正确的代码。pinging网站从一个循环阵列

+0

你能分享你所遇到的具体错误?有多种问题,你的代码,其中包括缺少模块,缺少等号,通过列表,文件逻辑运算顺序迭代。 –

+0

你在你的代码到处都有错误,哪里是'='列表中的任务,什么是'MYLIST(1,6)'应该做的或'result.stdout =打开(“test.txt的”,“W “)'?你似乎缺少一些Python非常基本的,所以你可能想读一个或两个教程。 –

回答

0
  • OS不导入
  • MYLIST = [ 'google.com', 'bbc.com', 'yahoo.com', 'gmail.com', 'hotmail.com', 'amazon.com' ]
  • 为平在MYLIST:
  • 结果=使用os.system( “平-c 1%的” %平)
  • F =打开( “test.txt的”, “W”)(打开进入循环前的文件,否则它将改写每次文件循环迭代)

    import os 
    
    mylist= ['google.com','bbc.com','yahoo.com','gmail.com','hotmail.com', 
         'amazon.com'] 
    
    f = open("file.txt", 'w') 
    for ping in mylist: 
        result = os.system("ping -c 1 %s" % ping) 
        f.write(ping + " : " +str(result) + "\n") 
    f.close() 
    
+0

非常感谢你。我iwll留在循环中result.stdout.close()?这不把结果写在文件中? – user6367569

+0

@ user6367569您应该再次在python中看到文件处理。上面的文件处理代码是错误的。顺便说一句,你应该把close()放在循环之外。 我编辑了上面的完整代码。 –

+0

我试了一下,但问题是,它无法识别f.write(ping +“:”+ result +“\ n”)ping – user6367569