47 lines
1.5 KiB
Python
47 lines
1.5 KiB
Python
import json
|
|
import subprocess
|
|
from pathlib import Path
|
|
import zipfile
|
|
import zstd
|
|
|
|
|
|
TEMP_FOLDER = Path('/mnt/16T/private_dataset/New Folder/temp')
|
|
|
|
|
|
def folder_to_zip(folder: Path):
|
|
from flandre.utils.RfMeta import RfFrameMeta
|
|
for i, file in enumerate(folder.glob('*')):
|
|
file = Path(file)
|
|
print(i, file, RfFrameMeta.from_path(file).json_str)
|
|
|
|
src = file
|
|
dst = TEMP_FOLDER / f'{i}.zst'
|
|
dstj = TEMP_FOLDER / f'{i}.json'
|
|
|
|
dstj.write_text(RfFrameMeta.from_path(file).json_str)
|
|
|
|
subprocess.run(['zstd', '-f', src, '-o', dst])
|
|
subprocess.run(['zip', '-0', '-j', '-r', TEMP_FOLDER.parent / f'{folder.name}.zip', TEMP_FOLDER])
|
|
|
|
|
|
def zip_to_bytes(file: Path, name: int):
|
|
return zstd.loads(zipfile.ZipFile(file).open(f'{name}.zst').read())
|
|
|
|
|
|
if __name__ == '__main__':
|
|
# folder_to_zip(Path('/mnt/16T/private_dataset/us/R1,U=30,M=PWI,S=(256 1502)'))
|
|
# r = get(Path('/mnt/16T/private_dataset/New Folder/ST,U=60,M=FMC,S=(256 256 3002).zip'), 3)
|
|
# print(r.__len__())
|
|
# r = Path('/mnt/16T/private_dataset/New Folder/ST,U=60,M=FMC,S=(256 256 3002)/X=-204.bin').read_bytes()
|
|
# print(r.__len__())
|
|
p = Path('/mnt/16T/private_dataset/us/R1,U=30,M=PWI,S=(256 1502).zip')
|
|
# #
|
|
archive = zipfile.ZipFile(p)
|
|
for item in archive.infolist():
|
|
print(int(Path(item.filename).stem))
|
|
print()
|
|
# # imgfile = archive.open('img_01.png')
|
|
# print(archive.filelist)
|
|
# p2 = archive.open('X=20,Y=395.bin')
|
|
# print(p2.read().__len__())
|