0

設定した場所から他のプログラムをダウンロードする必要のあるプログラムを書いています。Mac OS Xでテストすると、これらのプログラムを問題なくダウンロードして実行できますが、Windowsでファイルをダウンロードして解凍すると、次のエラーが発生します。

The version of this file is not compatible with the version of Windows you are running.

次に、x86バージョンとx64バージョンのどちらが必要かを確認する方法について説明します。Winrarを使用して同じファイルを解凍しましたが、含まれているプログラムは問題なく実行されるため、それが私のコードであると確信しています。

def _unzip_(self,file,destdir):
    print "Unzipping %s to %s" % (file,destdir)
    z = zipfile.ZipFile(file)
    for f in z.namelist():
        # Zipfiles store paths internally using a forward slash. If os.sep
        # is not a forward slash, then we will compute an incorrect path.
        # Fix that by replacing all forward slashes with backslashes if
        # os.sep is a backslash
        if os.sep == "\\" and "/" in f:
            destfile = os.path.join(destdir,f.replace("/","\\"))
        else:
            destfile = os.path.join(destdir,f)
        if destfile.endswith(os.sep):
            if not os.path.exists(destfile):
                os.makedirs(destfile)
        else:
            file = open(destfile,"w")
            file.write(z.read(f))
            file.close()
    z.close()

あなたが与えることができるどんな助けでも大いに感謝されるでしょう。

4

1 に答える 1

4

使用する

open(destfile,"wb")

バイナリモードでファイルを書き込みます。

于 2013-01-08T06:52:47.687 に答える