python - Argparse library reports error when using too few arguments
天蓬老师
天蓬老师 2017-06-12 09:27:25
0
1
1834
from PIL import Image
import argparse

parser=argparse.ArgumentParser()
parser.add_argument('IMG_20170430_130454.jpg')
parser.add_argument('-o','--output')
parser.add_argument('--width',type=int,default=80)
parser.add_argument('--height',type=int,default=65)

args=parser.parse_args()
IMG=args.file
WIDTH=args.width
HEIGHT=args.height
OUTPUT=args.output

ascii_char=list("I lve you")
def get_char(r,g,b,alpha=256):
    if alpha==0:
        return ' '
    length=len(ascii_char)
    gray=int(0.2126*r+0.7152*g+0.0722*b)
    unit=(256.0+1)/length
    return ascii_char[int(gray/unit)]
if __name__=='__main__':
    im=Image.open(IMG)
    im=im.resize((WIDTH,HEIGHT),Image.NEAREST)
    txt=""
    for i in range(HEIGHT):
        for j in range((WIDTH)):
            txt+=get_char(*im.getpixe((j,i)))
        txt+='\n'
    if OUTPUT:
        with open(OUTPUT,'w') as f:
            f.write(txt)
    else:
        with open("output.txt",'w') as f:
            f.write(txt)

I get an error when I run it
usage: ascii.py [-h] [-o OUTPUT] [--width WIDTH] [--height HEIGHT]

            IMG_20170430_130454.jpg

ascii.py: error: too few arguments

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

reply all(1)
滿天的星座

The first parameter is missing the parameter name

parser.add_argument('--file', default='IMG_20170430_130454.jpg')
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template