4

Pythonを使用して2つのzipファイルをマージしようとしています。

ソースzipファイルに含まれるシンボリックリンクに関しては動作していないことに気付くまで、動作していました。新しいzipファイルに追加するときに各ファイルでzipfile.read()を使用していたため、シンボリックリンクを読み取って、シンボリックリンクではなくテキストファイルを作成していました。

ターゲットzipファイルにシンボリックリンクを書き込むときに、ソースzipファイルからのシンボリックリンクを保持するようにPythonを取得する方法を知っている人はいますか?

ありがとう。

4

1 に答える 1

2

これはそれが行われるべき方法です:

      if os.path.islink(filePath):
            attr = zipfile.ZipInfo(filePath)
            attr.create_system = 3 # 3 for unix, 0 for windoze
            attr.external_attr = 2716663808L # to include file as a symlink
            newZip.writestr(attr, os.readlink(filePath))
于 2012-10-24T14:52:26.097 に答える