python - Argparse库使用报错too few arguments

查看:1697
本文介绍了python - Argparse库使用报错too few arguments的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

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)

我运行时候报错
usage: ascii.py [-h] [-o OUTPUT] [--width WIDTH] [--height HEIGHT]

            IMG_20170430_130454.jpg

ascii.py: error: too few arguments

解决方案

第一个参数缺少参数名

parser.add_argument('--file', default='IMG_20170430_130454.jpg')

这篇关于python - Argparse库使用报错too few arguments的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆