From d5a00202e7d1c14b2f360b6dab11d27fe18b7afc Mon Sep 17 00:00:00 2001 From: Miheev Egor Date: Wed, 18 Sep 2024 18:30:00 +0300 Subject: [PATCH] =?UTF-8?q?feat(utils):=20=D1=80=D0=B0=D1=81=D1=88=D0=B8?= =?UTF-8?q?=D1=80=D0=B5=D0=BD=20=D1=84=D1=83=D0=BD=D0=BA=D1=86=D0=B8=D0=BE?= =?UTF-8?q?=D0=BD=D0=B0=D0=BB=20hex2bin?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Для удобства конструирования пайплайна появился флаг -s, при выставлении которого число читается со стандартного потока ввода, не в качества аргумента в консоли --- 02-cpu-commnads/hex2bin.py | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/02-cpu-commnads/hex2bin.py b/02-cpu-commnads/hex2bin.py index 55c6faf..6ac4acf 100755 --- a/02-cpu-commnads/hex2bin.py +++ b/02-cpu-commnads/hex2bin.py @@ -1,11 +1,18 @@ #!/usr/bin/python3 -import sys +import argparse def hex2bin(hexNum: str) -> None: return bin(int(hexNum, 16)) -if (len(sys.argv) > 1): - print(hex2bin(sys.argv[1])) -else: - print("No number passed") +parser = argparse.ArgumentParser(description="convert hex number to bin right in terminal") +parser.add_argument('-s', '--stdin', action='store_true', help="if passed takes input from terminal arguments") +parser.add_argument('number', nargs='?') + +args = parser.parse_args() +if args.stdin: + print(hex2bin(input())) +elif args.number: + print(hex2bin(args.number)) +else: + print("something went wrong")