python - Get Local File name after ZipFile extract() -


how local file name after zipfile extract() runs?

when this:

    zipfile.zipfile(localzipfilepath, "r") zf:         name in zf.namelist():             localfilepath = zf.extract(name, '/tmp/')             print localfilepath 

the file exists in zip file is: src/xyz/somefile.txt

localfilepath outputs this: /tmp/src

the file written here: /tmp/src/xyz/somefile.txt , in graceful way.

i think misunderstood something. zipfile.extract() method returns either full path either directory or file created specific zipfile member.

the documentation doesn't state explicitly, source code method quite clear here:

if member.filename[-1] == '/':     if not os.path.isdir(targetpath):         os.mkdir(targetpath)     return targetpath  self.open(member, pwd=pwd) source, \      file(targetpath, "wb") target:     shutil.copyfileobj(source, target)  return targetpath  

so either member filename ends in / (a directory), in case directory created, or file created data being copied in. either way, targetpath local path of filesystem entry created.

i've opened python issue have documentation updated; of 2015-03-15 documentation has been updated read:

returns normalized path created (a directory or new file).


Comments

Popular posts from this blog

java - Could not locate OpenAL library -

c++ - Delete matches in OpenCV (Keypoints and descriptors) -

sorting - opencl Bitonic sort with 64 bits keys -