나는 메모리에 io.BytesIO
버퍼로 저장되어있는 zip 파일을 가지고 있습니다. zip 파일 내에서 디렉토리 중 하나에 대한 심볼릭 링크를 만들어야합니다.파이썬에서 zipfile로 심볼릭 링크를 만드는 방법
다음은 (지금부터이 similar question에서) 시도한 것이지만 최상위 수준에서 원하는대로 링크를 작성하지 않습니다.
링크로 만들 수 : 루트/스케일/lib 디렉토리/하이퍼 바이저/평방/pika_3_5
링크 이름 : '새앙 토끼'
링크 위치 : 최상위 레벨에서
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)
는 사실이 '새앙 토끼의 이름으로 루트 레벨에서 파일을 생성되지만이 심볼릭 링크하지 않고 같은 내용이 텍스트 루트/스케일/lib 디렉토리/하이퍼 바이저/esx65/pika_3_5 대신.
Windows에서 추출하려고합니까? Unix 심볼릭 링크는 윈도우에서 작동하지 않으며, 대상과 함께 파일로 표시됩니다. – mata