Ejercicio 6

This commit is contained in:
perro tuerto 2023-02-15 17:33:52 -08:00
parent d96405cef2
commit f65c9a0a7c
1 changed files with 44 additions and 0 deletions

44
exercises/ex06/ex06.py Normal file
View File

@ -0,0 +1,44 @@
# Exercise 2
# 1. find command
import sys
import argparse
from pathlib import Path
def list(args):
if not args["path"].exists():
print(f"find: {args['path']}: No existe el fichero o el directorio")
sys.exit(1)
for file in sorted(args["path"].glob(get_query(args))):
if args["exec"]:
...
else:
print(file.relative_to("."))
def get_query(args):
if args["type"] is not None:
if args["type"] == "f":
return "**/*.*"
elif args["type"] == "d":
return "**"
else:
return f"**/{args['name']}"
parser = argparse.ArgumentParser()
parser.add_argument("-name", default="**/*", type=str)
parser.add_argument("-type", choices=["f", "d"])
parser.add_argument("-print", default=True, action="store_true")
parser.add_argument("-exec", action="extend", nargs="+")
if len(sys.argv) > 1:
path = Path(sys.argv[1])
del sys.argv[1]
args = parser.parse_args().__dict__
args["path"] = path
else:
args = {"path": Path("."), "name": "*", "type": None, "exec": None}
list(args)