def build(string, path, name, logo=""):
qr = qrcode.QRCode(
version = 2,
error_correction = qrcode.constants.ERROR_CORRECT_H,
box_size = 10,
border = 1
)
qr.add_data(string)
qr.make( fit = True)
img = qr.make_image()
img = img.convert("RGBA")
icon = Image.open('img/'+logo+'.png')
img_w, img_h = img.size
factor = 4
size_w = int(img_w / factor)
size_h = int(img_h / factor)
icon_w, icon_h = icon.size
if icon_w > size_w: icon_w = size_w
if icon_h > size_h: icon_h = size_h
icon = icon.resize((icon_w, icon_h), Image.ANTIALIAS)
w = int((img_w - icon_w) / 2)
h = int((img_h - icon_h) / 2)
icon = icon.convert("RGBA")
newimg = Image.new("RGBA", (icon_w + 8, icon_h + 8), (255, 255, 255))
img.paste(newimg, (w-4, h-4), newimg)
img.paste(icon, (w, h), icon)
img.save(path + name + '.png', quality = 100)
if __name__ == "__main__":
argparser = argparse.ArgumentParser()
args = argparser.parse_args()
argparser.add_argument('Words')
argparser.add_argument('-d', '--directory', default = os.getcwd())
argparser.add_argument('-n', '--name')
argparser.add_argument('-l', '--logo')
build(args.Words, args.directory, args.name, args.logo)
当我执行它时
python code.py http://www.xx.com -n client -l client -d ./
它表明
用法:code.py [-h]
code.py:error:notrecognized arguments:http://www.xx.com -n client -l client -d ./
如何让它正常工作?请帮帮我!
答案 0 :(得分:1)
该行
args = argparser.parse_args()
在解析器的配置之后需要移动,换句话说,在行之后
argparser.add_argument('Words')
argparser.add_argument('-d', '--directory', default = os.getcwd())
argparser.add_argument('-n', '--name')
argparser.add_argument('-l', '--logo')
您试图在之前使用解析器,告诉解析器有关位置参数-d
,-n
和-l
的信息。因此,显然,当被要求解析它们时,它并没有认识到它们。