在python中如何在zipfile中创建符号链接

2024-05-20 09:09:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个zipfile,它作为io.BytesIO缓冲区存储在内存中。在zipfile中,我需要创建一个指向其中一个目录的符号链接。在

下面是我到目前为止尝试过的(从这个similar question开始),但它没有在顶层创建我想要的链接。在

要创建到的链接:root/scale/lib/hypervisor/kvm/pika_3_5

链接名:'pika'

链接位置:在顶层

现有Zipfile:数据['egg_buffer']

with zipfile.ZipFile(data['egg_buffer'], 'a') as zip_buffer:
    dest = 'root/scale/lib/hypervisor/kvm/pika_3_5'
    info = zipfile.ZipInfo('pika')
    info.external_attr |= 0120000 << 16L # symlink file type
    info.compress_type = zipfile.ZIP_STORED
    zip_buffer.writestr(info, dest)
data['egg_buffer'].seek(os.SEEK_SET)

实际上,这是在根级别创建一个名为“pika”的文件,但它不是一个符号链接,其内容为text root/scale/lib/hypervisor/esx65/pika_3_5。在


Tags: infodata链接egglibkvmbuffer符号