python RarFile extract just 1 directory with file inside dir

42 views Asked by At

rar file in test.rar file have more 10 directory i need extract just alex directory with file inside alex

import rarfile
with rarfile.RarFile('test.rar', 'r') as r:
    for file in r.namelist():
        if file.endswith('/'):
            print (file)
            if "alex/" in file:
                r.extract(file)

tools extract just folder witout files

1

There are 1 answers

0
furas On

You run r.extract(file) inside if file.endswith('/'): - so it runs it only for folder.

Maybe you could run extract() without if file.endswith('/'):

import rarfile

with rarfile.RarFile('test.rar') as r:
    for file in r.namelist():
        if 'alex/' in file:
            print(file)
            r.extract(file)

To skip folders you may use not in if not file.endswith('/'):

import rarfile

with rarfile.RarFile('test.rar') as r:
    for file in r.namelist():
        if not file.endswith('/'):  # `not` - to skip folders
            if 'alex/' in file:
                print(file)
                r.extract(file)