35 lines
890 B
Python
Executable file
35 lines
890 B
Python
Executable file
#!/usr/bin/env python
|
|
|
|
import os
|
|
import subprocess
|
|
|
|
for root, dirs, files in os.walk("."):
|
|
for name in files:
|
|
base, ext = os.path.splitext(name)
|
|
if name.endswith(".zip"):
|
|
cmd = ["unzip"]
|
|
elif name.endswith(".7z"):
|
|
cmd = ["7z", "e"]
|
|
elif name.endswith(".rar"):
|
|
cmd = ["unrar", "x"]
|
|
elif name.endswith('.tar'):
|
|
cmd = ["tar", "xf"]
|
|
elif name.endswith('.tar.gz'):
|
|
cmd = ["tar", "xzf"]
|
|
elif name.endswith('.tar.xz'):
|
|
cmd = ["tar", "xJf"]
|
|
else:
|
|
continue
|
|
|
|
filepath = os.path.join(root, name)
|
|
dirpath = os.path.join(root, base)
|
|
print(filepath)
|
|
|
|
os.mkdir(dirpath)
|
|
|
|
cmd.append(os.path.realpath(filepath))
|
|
r = subprocess.run(cmd, cwd=dirpath)
|
|
r.check_returncode()
|
|
|
|
os.unlink(filepath)
|