-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 に答える