python2error:无法识别的参数:

时间:2017-10-11 08:31:13

标签: python

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 ./

如何让它正常工作?请帮帮我!

1 个答案:

答案 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的信息。因此,显然,当被要求解析它们时,它并没有认识到它们。