Файл как аргумент командной строки для argparse -сообщение об ошибке, если аргумент недействителен

В настоящее время я использую argparse вот так:

import argparse
from argparse import ArgumentParser

parser = ArgumentParser(description="ikjMatrix multiplication")
parser.add_argument("-i", dest="filename", required=True,
    help="input file with two matrices", metavar="FILE")
args = parser.parse_args()

A, B = read(args.filename)
C = ikjMatrixProduct(A, B)
printMatrix(C)

Теперь я хотел бы отметить, что аргумент -iдолжен быть читаемым файлом. Как я могу это сделать?

Я пытался добавить type=open, type=argparse.FileType('r'), и они работали, но если файл недействителен, я хотел бы получить сообщение об ошибке. Как я могу это сделать?

52
задан Martin Thoma 18 July 2012 в 00:59
поделиться