2012-05-26 40 views
-1

這是我的代碼:提取的文件刷新到磁盤的python

x=zipfile.ZipFile('C://X/malware.zip') 
    for i in range(1):   
     x.extractall('C://E',pwd='infected') 
     start=time.clock() 
     print str(start) 
     while flag==1: 
      if os.path.exists('C://E/malware.exe')==True: 
       flag=1 
      else: 
       flag=0 

    finish=time.clock() 
    print str(finish) 
    elapsed=finish-start 
    print "the time elapsed is " + str(elapsed)+"seconds" 

我需要直接寫入到磁盤中提取,,,我怎樣才能使刷新到被提取的文件,, ,???

+4

'爲我在範圍內(1):'什麼? – Amber

回答

1

你似乎正在努力,因爲你需要等待壓縮文件被提取。這不是Python的工作原理。當您的x.extractall()完成時,就完成了。該文件已被提取並關閉,因此它已被刷新到磁盤。

而且,即使你需要等待,這一點:

while flag==1: 
    if os.path.exists('C://E/malware.exe')==True: 
     flag=1 
    else: 
     flag=0 

是在很多方面,我甚至不知道從哪裏開始錯了。但它會寫得更好:

while not os.path.exists('C://E/malware.exe'): 
    time.sleep(0.01) # don't use all the CPU by checking constantly! 
+0

我的代碼必須計算從病毒提取到病毒掃描和刪除的時間,,,請,如果你有一個比這更準確的想法告訴我, –