-1

这是我的代码:

 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 回答 1

1

您似乎在认为您需要等待解压缩 zip 文件的信念下工作。这不是 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!
于 2012-05-26T16:16:31.310 回答